Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中根据谷歌地图中距地面的高度(例如1公里)设置缩放级别?_Android_Google Maps_Google Maps Api 3 - Fatal编程技术网

如何在android中根据谷歌地图中距地面的高度(例如1公里)设置缩放级别?

如何在android中根据谷歌地图中距地面的高度(例如1公里)设置缩放级别?,android,google-maps,google-maps-api-3,Android,Google Maps,Google Maps Api 3,我正在使用谷歌API,我想从特定高度显示谷歌地图上任何位置的视图。我不想直接指定缩放级别。我想根据高度动态计算它(例如,1Km、2Km、3Km等)。如果有人有主意,请告诉我。 提前感谢。尝试使用map.setZoom(您的值) 参考:您无法找到解决问题的直接、现成的解决方案,因为它取决于设备的大小和您查看设备的距离 例如,如果您将设备保持在距离眼睛40厘米的位置,然后将其移动到50厘米,则感知到的地面距离将发生很大变化 无论如何,您可以使用公式来估计距离 使用此公式,您可以根据已知大小的对象(例

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

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


参考:

您无法找到解决问题的直接、现成的解决方案,因为它取决于设备的大小和您查看设备的距离

例如,如果您将设备保持在距离眼睛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);
}