如何确定Google地图的最大缩放级别整数?

时间:2011-07-19 14:01:25

标签: javascript google-maps

有没有办法生成表示Google地图最大缩放级别的实际整数?在Static或Java API中?

3 个答案:

答案 0 :(得分:4)

是的,您可以为您正在查看的地点生成最大缩放级别:

getMaxZoomAtLatLng(latlng:LatLng, callback:function(MaxZoomResult))
  

返回卫星地图类型的特定LatLng可用的最大缩放级别。由于此请求是异步的,您必须传递一个回调函数,该函数将在请求完成时执行,并传递给MaxZoomResult。

您还可以使用MapOptions的maxZoom属性设置允许的最大缩放级别(例如,防止用户完全放大)

  

将在地图上显示的最大缩放级别。如果省略或设置为null,则使用当前地图类型的最大缩放。

阅读有关它的所有内容here。 (CTRL + F并查找“最大缩放”)

答案 1 :(得分:0)

http://code.google.com/apis/maps/documentation/javascript/v2/introduction.html

  

每个地图还包含一个缩放级别,用于定义当前视图的分辨率。在法线贴图视图中,可以在0(最低缩放级别,在一个地图上可以看到整个世界)到19(最高缩放级别,到单个建筑物)之间进行缩放级别。缩放级别取决于您正在寻找的世界中的位置,因为全球某些地区的数据比其他地方更明确。在卫星视图中可以达到最多20级的缩放级别。

似乎只是硬编码19相对安全,但如果你需要精确的最大值来禁止19变焦(军事基地和诸如此类)或允许20的地方(不确定),我不知道如何确定。也许您可以通过setZoom检测到这一点然后立即调用getZoom,如果从getZoom返回的号码不是您刚设置的号码,那么您就是其中一个非标准位置。

答案 2 :(得分:0)

如果有帮助,请参见以下实际代码。

可接受的答案指向正确的方向。您想要的文档在[就在这里] [1]。

这是2019年可用的现代ES6代码:

    /* Determine max zoom at location */
    const location = { lat: _LATITUDE_, lng: _LONGITUDE_ }

    const getMaxZoom = new google.maps.MaxZoomService()
    getMaxZoom.getMaxZoomAtLatLng(location, (response) => {
      console.log('Max zoom at this location:', response.zoom)
    })


  [1]: https://developers.google.com/maps/documentation/javascript/maxzoom