限制/限制Google地图标记位置

时间:2014-07-07 13:06:56

标签: javascript jquery google-maps google-maps-api-3 google-maps-markers

是否有人知道是否/如何限制/限制地图中的标记位置?

我想将我的标记限制在一个城镇内的位置(例如半径为10公里)并且不允许用户拖动/创建一个超出该半径限制的新标记...

1 个答案:

答案 0 :(得分:4)

除了我的评论之外,这里还有一个使用地图边界作为边界的例子。

当地图首次加载时,边界定义为地图边界:

bounds = map.getBounds();

然后在标记dragend事件中,检查新位置是否在定义的范围内,如果不是,则将标记恢复到上次保存的位置:

google.maps.event.addListener(marker, 'dragend', function () {

    var position = marker.getPosition();
    bounds.contains(position) ? lastPosition = position : marker.setPosition(lastPosition);
});

您可以查看以下示例以获取实例(缩小并拖动原始地图边界之外的标记)。

JSFiddle demo