android - 从 arcgis map 点击 x 和 y 转换为 google map 或 bing map 位置

标签 android google-maps maps arcgis offline-mode

我有一个使用 arcgis 离线 map 的 Android 应用程序,另一端我有一个 bing map 。 当我点击 map 时,我应该将位置发送到电脑。我成功制作了一个图钉,但我不知道如何将其转换为谷歌地图可以理解的位置。 我举杯表示所选位置,我的代码给出了:

longitude:417
latitude:584

但我应该将其转换为:longitude = 39.54367547 例如。 这是我的代码:

// correcting the location
mMapView.setOnSingleTapListener(new OnSingleTapListener() {
    private static final long serialVersionUID = 1L;

    @Override
    public void onSingleTap(final float x, final float y) {
        if (rd_wrt == 1 || rd_wrt == 2) {
            mapPoint = mMapView.toMapPoint(x, y);
            redPinGraphicalLayer.removeAll();

            Graphic redPinGraphic = new Graphic(mapPoint, redPin);
            redPinGraphicalLayer.addGraphic(redPinGraphic);

            Toast.makeText(getApplicationContext(), "longitude " +x +"\n   latitude " + y,
                    Toast.LENGTH_LONG).show();

            Intent data = new Intent();

            data.putExtra("longitude", longitude);
            data.putExtra("latitude", latitude);
            setResult(RESULT_OK, data);
        }
    }
});

最佳答案

使用GeometryEngine将mapPoint从 map 坐标投影到地理坐标(即经度和纬度):

Point wgs84Point = (Point) GeometryEngine.project(
        mapPoint,
        mMapView.getSpatialReference(),
        SpatialReference.create(SpatialReference.WKID_WGS84));
longitude = wgs84Point.getX();
latitude = wgs84Point.getY();

如果您保留 Toast,则需要在 Toast 字符串中使用经度和纬度,而不是 x 和 y。

更新

如果您有 xywkid 而不是 ArcGIS Point对象,很容易自己创建一个 Point:

Point myPoint = new Point(x, y);
Point wgs84Point = (Point) GeometryEngine.project(
        myPoint,
        SpatialReference.create(wkid),
        SpatialReference.create(SpatialReference.WKID_WGS84));
longitude = wgs84Point.getX();
latitude = wgs84Point.getY();

关于android - 从 arcgis map 点击 x 和 y 转换为 google map 或 bing map 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18889579/

相关文章:

flutter - 如何在 flutter 中获取我们的实时位置?

java - ARCore中,如何让节点/ anchor 粘在相机上?

android - 在 Windows 上使用 CMake 在 Android Studio 中构建+链接 libpng

google-maps - 在谷歌地图中获取 (x,y) 中的标记位置

java - 将HashMap的值设置为标签的文本

android - 使用 Mapsforge 绘制 OverlayWays

android - 如何将 Xamarin.Forms 与 Xamarin.Android 和 Xamarin.IOS 结合使用?

java - SQLiteException : no such table 的问题

android - 在 Android 中使用 Google Transit API

android - 如何使标记信息窗口中的内容在android中可点击