【问题标题】:Error marker appear outside Circle on google maps [duplicate]谷歌地图上的圆圈外出现错误标记[重复]
【发布时间】:2016-04-18 05:45:34
【问题描述】:

我正在使用 DistanceWidget 插件。这是我的代码:

var distanceWidget = new DistanceWidget(map);
displayMarker(distanceWidget, markers);

google.maps.event.addListener(distanceWidget, 'distance_changed', function () {
   displayMarker(distanceWidget, markers);
});

google.maps.event.addListener(distanceWidget, 'position_changed', function () {
   displayMarker(distanceWidget, markers);
});

此功能显示/隐藏标记

function displayMarker(circle, markers) {
    var bounds = circle.get('bounds');
    for (var i=0; i<markers.length; i++) {
        if(bounds.contains(markers[i].getPosition())) {
            markers[i].setVisible(true);
        } else {
            markers[i].setVisible(false);
        }
    }
}

这是我的错误

【问题讨论】:

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


【解决方案1】:

你需要首先检查特定标记是否位于圆圈中 如果是,则它会自动出现在圆圈中,否则您需要将该标记放在该圆圈中。

其他解决方案是:你需要使用类似这样的 LatLngBounds 方法

        var bounds = new google.maps.LatLngBounds();
        for (var i = 0, LtLgLen = arrZom.length; i < LtLgLen; i++) {
            bounds.extend(arrZom[i]);
        }
        map.fitBounds(bounds);

arrZom 是一个数组,包含所有标记的 Lat 和 Lng (google.maps.LatLng)

【讨论】:

    猜你喜欢
    • 2019-02-18
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多