Tôi vừa bắt đầu sử dụng API Google Maps (v3.0) và đã có nhiều thành công cho đến nay. Tôi đang tải một tập hợp các đối tượng có giá trị Kinh độ & Giá trị kinh độ từ cơ sở dữ liệu, chuyển chúng vào tập lệnh của tôi và lặp lại chúng trong tập lệnh để thêm chúng vào bản đồ.Gọi bản đồ.fitBounds() Nhiều lần trong Google Maps API v3.0
Tôi đang sử dụng phương pháp "bounds.extend()
/map.fitBounds()
" của thiết lập tỷ lệ thu phóng của bản đồ & giới hạn (xem mã bên dưới), hoạt động như dự kiến lần đầu tiên xung quanh; tuy nhiên, nếu tôi xóa các dấu hiện có, hãy tìm một tập hợp các đối tượng khác và thực hiện tương tự trên cùng một bản đồ, nó đặt giới hạn không chính xác, thường dẫn đến thu phóng tối thiểu (chế độ xem của một phi hành gia).
Nghi ngờ của tôi là đối tượng bản đồ của tôi có bộ nhớ của tập hợp giới hạn trước đó mà tôi đã đưa ra và tôi cần tìm cách xóa các giới hạn này trước khi chỉ định những giới hạn mới của mình, nhưng tôi thực sự không thể quá chắc chắn.
Bất kỳ trợ giúp nào được đánh giá cao!
var locationList = [];
for (var i = 0; i < mapPoints.length; i++) { // mapPoints is a collection of DTOs
var mapPoint = mapPoints[i];
var location = new google.maps.LatLng(mapPoint.Latitude, mapPoint.Longitude);
locationList.push(location);
var marker = new google.maps.Marker({
map: map,
icon: '/Content/images/map/' + mapPoint.Status.Icon,
shadow: '/Content/images/map/shadow.png',
position: location
});
markers.push(marker); // markers is an Array that is managed outside this loop
}
var bounds = new google.maps.LatLngBounds();
for (var j = 0; j < locationList.length; j++)
bounds.extend(locationList[j]);
map.fitBounds(bounds);
Bạn có xóa biến 'locationList' khi bạn tải một bộ đánh dấu mới không? –
'locationList' được khởi tạo mỗi lần (dòng đầu tiên trong mẫu mã) và vì vậy trống trước khi bắt đầu vòng lặp. – egoodberry