如何使用GMAP3插件限制城市内的可拖动区域?

时间:2014-09-09 08:56:26

标签: jquery-gmap3

我还是谷歌地图的新手。我们的讲师建议在我们的任务中使用GMAP3插件。然而,我只知道如何在我的网站上显示它。

我想限制特定城市中的可拖动区域,并使用GMAP3插件限制用户在该区域的边界外拖动。有谁知道使用这个插件?

我现在真的很难过。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先,你必须定义没有google.maps.LatLngBounds的区域(城市,庄园,国家),例如EEUU:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(28.70, -127.50), //bottom-left corner
    new google.maps.LatLng(48.85, -55.90) // top-right corner
);

在这种情况下,我检查地图中心位置是否已拉开

$('#your-map').gmap3({
    map:{
        options:{...},
        events:{
            dragend: function(map){
                if (strictBounds.contains(map.getCenter())) return;

                // We're out of bounds - Move the map back within the bounds

                var c = map.getCenter(),
                    x = c.lng(),
                    y = c.lat(),
                    maxX = strictBounds.getNorthEast().lng(),
                    maxY = strictBounds.getNorthEast().lat(),
                    minX = strictBounds.getSouthWest().lng(),
                    minY = strictBounds.getSouthWest().lat();

                    if (x < minX) x = minX;
                    if (x > maxX) x = maxX;
                    if (y < minY) y = minY;
                    if (y > maxY) y = maxY;

                    map.setCenter(new google.maps.LatLng(y, x));
            }
        }
    }

我希望能提供帮助