[英]MathTransform doesn't work in Android project: “The type java.awt.geom.Point2D$Double cannot be resolved.”
我需要使用GeoTools轉換坐標。 我的代碼在Java項目中工作正常,但是當我將其放入Android時,我在mathTransform.transform(...)行收到錯誤消息:“類型java.awt.geom.Point2D $ Double無法解析。它是從所需的.class文件間接引用”。 這是我的代碼:
CoordinateReferenceSystem sourceCrs = CRS.decode("EPSG:3765");
CoordinateReferenceSystem targetCrs = CRS.decode("EPSG:4326");
boolean lenient = true;
double x, y;
MathTransform mathTransform = CRS.findMathTransform(sourceCrs, targetCrs, lenient);
parts = result.split(" ");
String coors = "";
for (int i = 0; i < parts.length; i += 2) {
x = Double.parseDouble(parts[i]);
y = Double.parseDouble(parts[i+1]);
DirectPosition2D srcDirectPosition2D = new DirectPosition2D(sourceCrs, x, y);
DirectPosition2D destDirectPosition2D = new DirectPosition2D();
mathTransform.transform(srcDirectPosition2D, destDirectPosition2D);
x = destDirectPosition2D.x;
y = destDirectPosition2D.y;
coors += x + " " + y + " ";
}
System.out.println(coors + ";");
現在,我發現了一個可以解釋其原因的問題: 無法在Eclipse中導入Java awt ,但是解決方案是什么?
解決辦法是什么?
您無法使用此JAR,而是找到了一些其他適用於Android的類似庫。
或者,您也可以閱讀之前使GeoTools在Android上運行的嘗試 。
或者,您可以將代碼更改歸還給項目,從而消除對java.awt
類的引用,而用在庫本身中實現的算法替換該代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.