Google Map API需要更深的缩放
我们正在Google Map(使用Google Map API v3)之上开发一个GIS应用程序,但是由于一些地图对象很小(小到大约1米),因此应用程序需要用户放大关闭,并且需要进行图形编辑。
在Google Map API中扩展缩放范围的最佳方法是什么?缩小到30级缩放? 我们可以实现一个瓦片服务器,当谷歌拼图服务器达到极限时“接管”? 或者让谷歌地图API只使用图形放大来获取超出其数据范围的缩放级别? 任何其他可能的方法?
使用Hybrit或卫星地图时,这个问题尤其麻烦,因为它们的缩放级别较浅(我们的位置似乎在18左右)。
下面的图片显示了最深的缩放以及它的不足之处:
/马格努斯
您扩展缩放范围的方式是创建自定义MapType
。 然后你可以指定minZoom
和maxZoom
。 如果您的地图切片是普通图像,则可以使用ImageMapType
来为您做一些簿记。 或者如果需要的话,你可以选择一个完整的自定义MapType
。
以下是一个ImageMapType
的示例,它具有自定义缩放级别和图像切片。
这是我终于如何解决它。 不是一个完美的解决方案,但足以满足我的目的:
最大的问题是确定地图是否处于最大变焦范围(MaxZoomService仅适用于卫星图像)。 我结束了一个超丑陋的解决方案:检查变焦控制中的zoon-handle的位置:-)
这可能比您用来查看滚动条的代码更好,因为在小屏幕上可能会有所不同。
如果变焦不变,这意味着谷歌是在最大变焦。
var wheelEvent = function() {
console.log('zoom before', map.getZoom());
setTimeout(function() {
return console.log('zoom after', map.getZoom());
}, 0);
};
})(this);
$('#map-canvas')[0].addEventListener('mousewheel', wheelEvent, true);
$('#map-canvas')[0].addEventListener('DOMMouseScroll', wheelEvent, true);
链接地址: http://www.djcxy.com/p/81593.html
上一篇: Deeper zoom needed in Google Map API
下一篇: Use Google Maps in an Android Application and Zoom Level