3

有没有其他人发现谷歌地图(现在)允许你超越两极。它曾经停在两极,对吧?

每次用户平移或缩放地图时,我正在处理的站点都会在我们的服务器上执行基于位置的查询。这会导致错误,因为用户在地图边缘平移时触发的查询是无意义的。

现在我正在处理边缘情况,可以这么说,在服务器端,但在客户端不是很好的用户体验。有没有人有防止过度平移的解决方案?

谢谢

截屏: 地球边缘!

4

2 回答 2

2

避免灰色区域的一种方法是限制用户的平移,按照这个例子,“范围限制”;但是,它是为第 2 版编写的。

http://econym.org.uk/gmap/range.htm

让它在版本 3 中工作很简单, http: //jsfiddle.net/44e6y/9/但也有缺点:

  • 它依赖于地图的中心在一个盒子里,所以
  • 放大将进一步限制可视区域(如果您对两极不感兴趣也没关系,但您可以拥有一系列 LatLngBounds 用于各种缩放,它成为看格陵兰岛的必要条件)
  • 作为最后一点的结果,我强制 JSFiddle iframe 大小的最小缩放为 2。如果地图将占据整个屏幕,则最小缩放可能会更高,以避免显示灰色区域。一般来说,最小值越高。缩放,更可预测的行为。
于 2012-05-14T19:31:11.163 回答
0

由于我遇到了同样的问题并且接受的唯一目标是 2 级缩放(示例中其他缩放级别失败),我去尝试找到一个公式,但没有成功,所以我在前 8 个缩放中硬编码有价值观的水平。显然,这可以扩展到一个完整的工作示例,但我认为这对于 99% 的情况来说已经足够了。

JSFiddle在这里

我还添加了另一个侦听器以使其更好地工作。

google.maps.event.addListener(map, 'zoom_changed', function() {
      checkBounds();});
于 2014-01-11T17:28:11.983 回答