如何在Android中的谷歌地图中根据地面高度(例如.1KM)设置缩放级别?

时间:2015-10-09 06:16:35

标签: android google-maps google-maps-api-3

我正在使用Google API,我希望从特定高度显示Google地图上任何位置的视图。我不想直接指定缩放级别。我想根据高度动态计算它(例如1Km,2Km,3Km等)。如有任何想法请告诉我。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试使用map.setZoom(您的值)

function addMarker(lat, lng, info) {
var pt = new google.maps.LatLng(lat, lng);
map.setCenter(pt);
map.setZoom(your desired zoom);
}

简称:https://developers.google.com/maps/documentation/javascript/reference#Map

答案 1 :(得分:0)

您无法找到针对您的问题的直接,开箱即用的解决方案,因为它取决于设备的大小以及您查看它的距离。

例如,如果您将设备放在距离眼睛40厘米处,然后将其移动到50厘米处,那么到地面的感知距离将会发生很大变化。

无论如何,您可以使用公式Calculate distance knowing actual and perceived size估算距离。

使用此公式,您可以根据已知大小的对象(例如汽车或建筑物)的感知大小,设备的大小以及您的距离来计算每个缩放级别的感知距离。重新审视它,然后找到一个关系,知道你需要应用什么缩放级别来模拟给定的高度。

考虑到这将始终是一个近似值,因为您无法确定用户查看地图的距离,还因为地图代表平面中的地球,因此缩放距离越远,这种方法会越差。

相关问题