Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图:避免显示海洋_Google Maps - Fatal编程技术网

Google maps 谷歌地图:避免显示海洋

Google maps 谷歌地图:避免显示海洋,google-maps,Google Maps,我正试图找出一种方法来限制谷歌地图的拖动选项,例如: 地图视图仅限于显示特定国家/地区 但在更高的缩放级别,用户可以拖动地图的方式,只有大海在视图中 我的要求是,不管用户处于何种缩放级别,他都不能拖动地图来查看海景。这是唯一的土地应显示,如果试图进入大海,应限制(防止拖动) 我已定义边界以成功限制地图视图。 但问题是在更高的缩放级别,用户可以拖动地图,仍然在边界内,但只显示大海,这是我想要阻止的 但我还是想不出一个方法来完成这项任务。有人能推荐一种方法/机制吗 谢谢…您好,我已经看过这个例子

我正试图找出一种方法来限制谷歌地图的拖动选项,例如:

  • 地图视图仅限于显示特定国家/地区
  • 但在更高的缩放级别,用户可以拖动地图的方式,只有大海在视图中
我的要求是,不管用户处于何种缩放级别,他都不能拖动地图来查看海景。这是唯一的土地应显示,如果试图进入大海,应限制(防止拖动)

我已定义边界以成功限制地图视图。 但问题是在更高的缩放级别,用户可以拖动地图,仍然在边界内,但只显示大海,这是我想要阻止的

但我还是想不出一个方法来完成这项任务。有人能推荐一种方法/机制吗


谢谢…

您好,我已经看过这个例子,所以如果您能找到一些解决方案,我建议您再看一遍。


这开始似乎很难做到。如果能看到一小块陆地,你会怎么做


但是,您可以阻止用户拖动地图。在地图选项中设置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});
  }
});

编辑:我想我已经开始明白你在说什么了。我相信你想要的是允许用户放大并探索一个国家,而不是将地图拖到水面上。如果你缩小,你就不能再拖动了。我不确定您是否可以完全实现这一点,但您可以根据缩放级别确定地图是否可以拖动。

是的,这正是我的意思。但我想如果我能得到这个国家的边界坐标(也就是说沿着它的边界),那么这应该是可能的?因为这样我们就可以比较国家边界和可拖动(视图)区域。我相信这就是你要找的。阻止鼠标进一步运行的鼠标事件。向下滚动两个条目,就可以得到Lat Lng边界。