如何在android中根据谷歌地图中距地面的高度(例如1公里)设置缩放级别?
我正在使用谷歌API,我想从特定高度显示谷歌地图上任何位置的视图。我不想直接指定缩放级别。我想根据高度动态计算它(例如,1Km、2Km、3Km等)。如果有人有主意,请告诉我。 提前感谢。尝试使用map.setZoom(您的值)如何在android中根据谷歌地图中距地面的高度(例如1公里)设置缩放级别?,android,google-maps,google-maps-api-3,Android,Google Maps,Google Maps Api 3,我正在使用谷歌API,我想从特定高度显示谷歌地图上任何位置的视图。我不想直接指定缩放级别。我想根据高度动态计算它(例如,1Km、2Km、3Km等)。如果有人有主意,请告诉我。 提前感谢。尝试使用map.setZoom(您的值) 参考:您无法找到解决问题的直接、现成的解决方案,因为它取决于设备的大小和您查看设备的距离 例如,如果您将设备保持在距离眼睛40厘米的位置,然后将其移动到50厘米,则感知到的地面距离将发生很大变化 无论如何,您可以使用公式来估计距离 使用此公式,您可以根据已知大小的对象(例
参考:您无法找到解决问题的直接、现成的解决方案,因为它取决于设备的大小和您查看设备的距离 例如,如果您将设备保持在距离眼睛40厘米的位置,然后将其移动到50厘米,则感知到的地面距离将发生很大变化 无论如何,您可以使用公式来估计距离 使用此公式,您可以根据已知大小的对象(例如汽车或建筑物)的感知大小、设备大小以及查看距离来计算每个缩放级别的感知距离,然后找到一个关系,以了解模拟给定高度需要应用的缩放级别
考虑到这始终是一个近似值,因为您无法确定用户查看地图的距离,也因为地图代表平面中的地球,所以缩放越远,此方法的效果越差。我不想直接指定缩放级别,我想根据高度(例如,1公里、2公里、3公里等)动态计算它。我对此也很感兴趣。我最想知道的是,在那个特定的高度,一个人从飞机上能看到什么。
function addMarker(lat, lng, info) {
var pt = new google.maps.LatLng(lat, lng);
map.setCenter(pt);
map.setZoom(your desired zoom);
}