spi*_*nt0 5 google-maps google-maps-api-3
如果你缩放谷歌地图,世界将开始水平重复.使用.getBounds()似乎返回显示的地图图像边缘的经度.但是我希望获得当前现实世界观的最小和最大经度.
例如,在此图像中.getBounds()表示经度介于116和37度之间(宽度为-79度!).我正在寻找的范围是-244到+37.(甚至是-180到+37,因为这是世界上可以在地图中心看到的极端情况.)

另一个例子.在这里,我正在寻找-180到+180 ......

你可以在这里尝试一下...... http://jsfiddle.net/spiderplant0/EBNYT/
(如果之前已经回答道歉 - 我确实找到了一些旧的类似问题,但似乎没有一个得到满意的答案).
小智 2
我今天遇到了同样的问题,但我想我终于解决了。
在上面的第一个场景中,您可以使用map.getBounds().toSpan()来获取经度的宽度......只要地图没有环绕。
对于地图环绕的第二种情况,我扩展了google.maps.OverlayView()来获取google.maps.MapCanvasProjection对象。从那里您可以调用该函数getWorldWidth()。
它将为您提供以像素为单位的世界宽度,然后您可以将其与地图容器的宽度进行比较。如果你的容器更大,你的地图就会环绕起来。
不知道该功能是否适用于此,但它可以工作。
| 归档时间: | 
 | 
| 查看次数: | 3118 次 | 
| 最近记录: |