Android-Java点中的点(android.graphics.point)不能应用于(Double, Double)

Android-Java Point(android.graphics.point) in Point cannot be applied to (Double, Double)

我正在使用 ArcGis 解决方案来获取用户的当前位置。每当我想要 getLongitude 和 getLatitude 时,它​​都会给出一个错误,即点无法转换为 Double。

如何解决这个问题?

Point curLocation;
final SpatialReference wm = SpatialReference.create(102100);
final SpatialReference egs = SpatialReference.create(4326);



public void onLocationChanged(Location location) {
        if (location == null)
            return;

        boolean zoomToMe = (curLocation == null);
        curLocation = new Point(location.getLongitude());

        if (zoomToMe) {
            Point p = (Point) GeometryEngine.project(curLocation, egs, wm);
            mMapView.zoomToResolution(p, 5.0);
        }
    }

一个point有两个int作为参数。你传给它一个双打。您可以使用需要 2 个浮点数的 PointF,但即使这样也会丢失数据。

您是否正在使用另一个使用自定义点 class 的库(arcgis 在网络搜索中出现)?如果是这样,请确保您正在导入 the correct version of Point:

import com.esri.core.geometry.Point;