标记的拟合界限不适用于多标记的下一次点击

时间:2014-01-01 11:22:31

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

请你看一下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);
    }
  }); 
});

我几乎为所有三个按钮重复了这个

1 个答案:

答案 0 :(得分:1)

删除标记时(或执行新的AJAX请求时)需要清除全局边界对象。

 function removeMarkers() {
    bounds = new google.maps.LatLngBounds();
    for (i = 0; i < locations.length; i++) {
        if(locations[i])
             locations[i].setMap(null)
    }
}