我正试图找出一种方法来限制谷歌地图的拖动选项,例如:
我的要求是尽管用户所处的缩放级别,但他不应该拖动地图以获得海景。只有土地应该显示,如果试图进入大海,应该受到限制(防止拖拽)。
我已经定义了边界来成功限制地图视图。 但问题是在更高的缩放级别,用户可以拖动地图,仍然在边界内,但只显示海,我想阻止。
但我仍然无法找到完成任务的方法。任何人都可以请一个方法/机制吗?
谢谢......答案 0 :(得分:1)
这起初看起来很难。如果有一小块土地可见,你会怎么做,这样可以吗?
但是,您可以阻止用户拖动地图。在MapOptions中设置draggable:false。
答案 1 :(得分:1)
我对你的问题感到有点困惑。
你说
“在更高的缩放级别,用户可以以只有海洋在视图中的方式拖动地图”
然后你说
“尽管用户所处的缩放级别如此,但他不应该拖动地图以获得海景”
无论如何,我有一个解决方案,你可以让地图不可拖动,然后在缩放后,你可以改变这个值。
例如:
function intialize{
map = new google.maps.Map(document.getElementById("map_canvas");
map.setOptions({ draggable : true });
}
google.maps.event.addListener(map,'zoom_changed',function () {
if (map.getZoom() >= 4) {
map.setOptions({ draggable : false});
}
});
编辑:我想我开始理解你在说什么了。我相信你想要的是允许用户放大和探索一个国家,而不是将地图拖到水面上。如果缩小,则无法再拖动。我不太确定你是否可以完全实现它,但你可以根据缩放级别确定地图是否可以拖动。
答案 2 :(得分:0)
您好我已查看此示例,因此如果您能找到解决方案,我建议您查看一次。 MapView Example