2013-05-07 189 views
1

我有一个全屏谷歌地图与控制divs顶部覆盖。设置谷歌地图显示标记区域

----------------------------------------------------- 
|   |           | 
|   |           | 
|   |    Map       | 
| Sidebar |           | 
|   |           | 
|   |           | 
|   |=========================================| 
|   |    Controls     | 
----------------------------------------------------| 

在底部的边栏和控制能够滑入和滑出并且存在其后面可用地图。问题是,当我去适应一组标记和中心在地图上的边界时,有时标记会放在侧边栏后面并控制div。我猜是因为它在技术上是它背后的地图的一部分。

有没有办法获得全屏地图,但告诉谷歌地图只有部分屏幕被认为是可用的边界和居中?

回答

1

没有内置的方法来实现你想要的。你必须自己实现。 这里是一个帖子,将有助于计算像素的latlng距离:Google Maps API 3: Calculating length of polygon in pixels

+0

因此,一旦我有我的覆盖,我将如何使我的标记适合该地区? – Brandon 2013-05-07 14:49:26

+1

由于您知道您的控件隐藏的区域的高度和宽度,因此可以计算包含可见空间的多边形。现在,您将不得不移动多边形,以便您最左上方的标记是多边形的左上角。现在你必须检查所有点是否包含在多边形中。如果他们这样做,移动地图的中心。如果不是,则需要缩小缩放级别并再次尝试前一个。请参阅https://github.com/tparkin/Google-Maps-Point-in-Polygon以检查点是否在多边形中。 – 2013-05-09 12:03:04