有没有办法生成表示Google地图最大缩放级别的实际整数?在Static或Java API中?
答案 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