我正在使用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);
}
}
}
答案 0 :(得分:0)
你需要检查第一个天气,特定的标记是否在圈内 如果是,则它会自动显示在圆圈中,否则您需要将该标记放在该圆圈中。
其他解决方案是:你需要使用类似这样的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)