我如何确定谷歌地图的最大缩放级别整数
How do i determine the Max Zoom Level integer for Google Maps?
是否有一种方法可以生成代表Google地图最大缩放级别的实际整数?在静态或Java API?
是,您可以为您正在查看的地方生成最大缩放级别:
getMaxZoomAtLatLng(latlng:LatLng, callback:function(MaxZoomResult))
返回卫星地图类型在特定LatLng上可用的最大缩放级别。由于此请求是异步的,您必须传递一个回调函数,该函数将在请求完成时执行,传递一个MaxZoomResult。
你也可以通过使用MapOptions
的maxZoom
属性来设置允许的最大缩放级别(例如,防止用户完全放大)将在地图上显示的最大缩放级别。如果省略或设置为null,则使用当前映射类型的最大缩放。
阅读这里的所有内容。(CTRL+F并查找"maximum zoom")
http://code.google.com/apis/maps/documentation/javascript/v2/introduction.html
每个地图还包含一个缩放级别,它定义了当前视图的分辨率。在法线地图视图中,可以在0(最低的缩放级别,在一张地图上可以看到整个世界)到19(最高的缩放级别,可以看到单个建筑物)之间进行缩放。缩放级别取决于你在世界上看的地方,因为地球上一些地方的数据比其他地方的数据更明确。可在卫星视野内放大至20。
似乎只是硬编码19
是相对安全的,但如果你需要精确的最大值19缩放不被允许的地方(军事基地和什么)或20被允许的地方(不确定),我不知道如何确定。也许你可以通过setZoom
检测到这一点,然后立即调用getZoom
,如果从getZoom
返回的数字不是你刚刚设置的那个,那么你在一个非标准位置。
如果对您有帮助,下面是实际代码
被接受的答案指向正确的方向。您需要的文档在[这里][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
- 更改高贴图的缩放级别
- 在不阻止默认行为的情况下检测IE10中的缩放
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 缩放Raphael/SVG容器以适应所有内容
- 传单缩放控制位置错误
- 在不移动内部文本的情况下缩放元素的效果
- 调整缩放窗口高度提升缩放
- 计算CSS3缩放框在另一个框中的最高位置
- D3.JS向rect添加缩放和列表项
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 将直流图表库中的折线图缩放限制为小时
- 为什么缩放按钮不会显示在照片擦除中
- 动态设置谷歌地图缩放
- 如何缩放像图像一样的元素
- 使用KineticJS变换(移动/缩放/旋转)形状
- 在手机上缩小/缩放滚动图像
- 将时间缩放添加到折线图(Chart.js)
- 当涉及css缩放时,如何获得页面上的点击位置
- 强制传单地图只使用整数缩放级别(不使用小数级别)
- 我如何确定谷歌地图的最大缩放级别整数