请你看一下this link,让我知道我做错了什么map.fitBounds(bounds);
正在为第一次点击选项正常运作(哪一个并不重要,它只是第一次点击时缩放是否延伸,但其余部分不会改变延伸。)
这也是我的一个按钮的代码:
$( "#reg3" ).click(function() {
removeMarkers();
$.ajax({
// type: "POST",
url: 'reg7_R1.json.txt',
dataType: 'json',
success: function(data){
locations.length = 0;
for (p = 0; p < data.markers.length; p++) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(data.markers[p].latitude,data.markers[p].longitude),
map: map,
title:"marker "+p
});
bounds.extend(marker.getPosition());
locations.push(marker);
}
map.fitBounds(bounds);
},
error: function (xhr,status,errorStr) {
alert("status="+status+", error="+errorStr);
}
});
});
我几乎为所有三个按钮重复了这个
答案 0 :(得分:1)
删除标记时(或执行新的AJAX请求时)需要清除全局边界对象。
function removeMarkers() {
bounds = new google.maps.LatLngBounds();
for (i = 0; i < locations.length; i++) {
if(locations[i])
locations[i].setMap(null)
}
}