我试图找出一种方法来限制谷歌地图的拖动选项,例如:
- 地图视图仅限于显示某些国家。
- 但是在更高的缩放级别下,用户可以以只有大海在视图中的方式拖动地图。
我的要求是,不管用户的缩放级别如何,他都不能拖动地图来查看海景。那就是只应该显示陆地,如果试图进入大海,应该限制(防止拖动)。
我已经定义了边界以成功限制地图视图。但问题在于更高的缩放级别,用户可以拖动地图,仍在边界内,但只显示我想要阻止的大海。
但我仍然想不出一种方法来完成这项任务。任何人都可以请建议一种方法/机制吗?
谢谢你...
我试图找出一种方法来限制谷歌地图的拖动选项,例如:
我的要求是,不管用户的缩放级别如何,他都不能拖动地图来查看海景。那就是只应该显示陆地,如果试图进入大海,应该限制(防止拖动)。
我已经定义了边界以成功限制地图视图。但问题在于更高的缩放级别,用户可以拖动地图,仍在边界内,但只显示我想要阻止的大海。
但我仍然想不出一种方法来完成这项任务。任何人都可以请建议一种方法/机制吗?
谢谢你...
乍一看,这似乎很难。如果有一点点可见的土地,你会怎么做,可以吗?
但是,您可以阻止用户拖动地图。在 MapOptions 中设置 draggable:false。
我对你的问题有点困惑。
你说
“在更高的缩放级别下,用户可以以只有大海在视图中的方式拖动地图”
然后你说
“尽管用户处于什么缩放级别,但他不应该能够拖动地图来查看海景”
无论如何,我有一个解决方案,您可以使地图不可拖动,然后在缩放时更改该值。
例如:
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});
}
});
编辑:我想我开始明白你在说什么了。我相信你想要的是让用户放大和探索一个国家,而不是把地图拖到水面上。如果你缩小,你不能再拖动了。我不太确定您是否可以完全实现这一点,但您绝对可以根据缩放级别确定地图是否可拖动。
你好,我已经看过这个例子,所以如果你能找到一些解决方案,我建议你看一次。 地图视图示例