【发布时间】:2015-07-06 20:55:07
【问题描述】:
我正在创建一个使用图像作为地图的 android 应用。
我有一个透视图像,需要放置一些图钉并向用户显示他在哪里。
如何将谷歌地图坐标转换为图像中的位置?
谢谢
【问题讨论】:
标签: android image google-maps coordinates
我正在创建一个使用图像作为地图的 android 应用。
我有一个透视图像,需要放置一些图钉并向用户显示他在哪里。
如何将谷歌地图坐标转换为图像中的位置?
谢谢
【问题讨论】:
标签: android image google-maps coordinates
这里没有可分享的代码,因为它取决于您显示图像的方式(我假设您没有使用 GoogleMap 对象和地面叠加层...
您必须创建特定的函数来重新投影图像坐标(您可以尝试在 0 和 1 之间进行归一化)和世界坐标(这取决于该地点在世界的哪个位置)。
如果您使用的是 GoogleMap 对象,您可以将该图像放在 google 地图上,然后使用法线坐标;这里是页面:https://developers.google.com/maps/documentation/android/groundoverlay
您可以通过以下方式添加它:
LatLng NEWARK = new LatLng(40.714086, -74.228697);
GroundOverlayOptions newarkMap = new GroundOverlayOptions()
.image(BitmapDescriptorFactory.fromResource(R.drawable.newark_nj_1922))
.position(NEWARK, 8600f, 6500f);
map.addGroundOverlay(newarkMap);
显然你必须找到你的位置并查看关于使用哪种方法的文档,因为你可以使用上述一种或几种其他方法:
position(LatLng location, float width, float height)
position(LatLng location, float width)
positionFromBounds(LatLngBounds bounds)
PS:如果您不使用 GoogleMap 对象,则此问题与“google-maps”无关,而是与 GIS-geopositioning 相关(在这种情况下,我建议https://gis.stackexchange.com/)。
【讨论】: