首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算适当的google地图缩放级别

问如何计算适当的google地图缩放级别
EN

Stack Overflow用户
提问于 2012-04-04 09:00:39
回答 2查看 4.8K关注 0票数 2

我有一个棘手的问题……我正在使用谷歌地图静态API来创建一个带有标记的地图图像。我正在努力做的是计算适当的缩放级别,给定我想要显示的两个标记的位置。

我有latitudeA,longitudeA,latitudeB,longitudeB和中心点(简单)。有没有人知道变焦级别的计算公式?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-09-15 09:05:27

我拍摄了3张静态地图,分别位于11级、12级和13级,并使用了谷歌地图的“地图实验室”功能,在相应的最小/最大纬度/经度标记处按住Shift键。然后,我编写了一个Perl程序来计算纬度/经度范围、期望值(使用我通过检查数据预测的公式)和增量(即,abs(预期范围)),它应该接近于零。一旦我说服自己,我已经尽可能地接近了,下面是我的结果:

代码语言:javascript
复制
Z11:  LatRange[0.323999]  ExpLat[ 0.324]  DeltaLat[  0.0000000000000019]
Z11:  LonRange[0.439999]  ExpLon[  0.44]  DeltaLon[  0.0000000000000023]

Z12:  LatRange[0.161999]  ExpLat[ 0.162]  DeltaLat[  0.0000000000000010]
Z12:  LonRange[0.219999]  ExpLon[  0.22]  DeltaLon[  0.0000000000000011]

Z13:  LatRange[0.081000]  ExpLat[ 0.081]  DeltaLat[  0.0000000000000031]
Z13:  LonRange[0.109999]  ExpLon[  0.11]  DeltaLon[  0.0000000000000006]

我使用的公式是:

代码语言:javascript
复制
ExpLat = 0.162 * (2 ** (12 - Z))
ExpLon = 0.220 * (2 ** (12 - Z))

其中,ExpLat、ExpLon是预期的纬度和经度范围,Z是缩放级别。

票数 4
EN

Stack Overflow用户

发布于 2012-04-04 10:17:52

即使您使用的是静态映射api,您仍然可以引用常规映射脚本文件,然后执行边界框计算:

代码语言:javascript
复制
map = new GMap2(document.getElementById("map"));

// Define the two corners of the bounding box
var sw = new GLatLng(59.0, 13.12); //any lat,lng pair
var ne = new GLatLng(60.35, 16.90);

var bounds = new GLatLngBounds(sw, ne);

var zoom = map.getBoundsZoomLevel(bounds));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10003577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档