Google Maps API'yı (v3.0) kullanmaya başladım ve şimdiye kadar çok başarılı oldum. Bir veritabanından Latitude & Boylam değerleri ile bir nesne kümesi yüklüyorum, bunları komut dosyasına aktarıyorum ve bunları haritaya eklemek için komut dosyasında döngü halinde yapıyorum. Ben, ilk kez etrafında beklendiği gibi çalıştığını hangi (aşağıdaki kodu bakınız), haritanın zum & sınırları ayarlama "bounds.extend()
/map.fitBounds()
" yöntemini kullanıyorumArama haritası.fitBounds() Google Haritalar API'sında Çoklu Zamanlar v3.0
; ancak, mevcut işaretleyicileri temizlerseniz, başka bir nesne kümesini getirip aynı eşleme örneğindeki aynı şeyi yaparsa, yanlış bir şekilde ayarlar, bu da genellikle en az yakınlaştırmaya neden olur (bir astronot görüntüsü).
Şüphem, benim harita nesnesinin, verdiğim önceki sınır kümesinin bir belleğine sahip olması ve yenilerini atamadan önce bu sınırları temizlemenin bir yolunu bulmam gerektiğidir. çok emin ol.
Herhangi bir yardım büyük beğeni topluyor!
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);
Yeni bir işaret kümesi yüklediğinizde 'locationList' değişkenini temizler misiniz? –
'locationList' her zaman başlatılır (kod örneğinde ilk satır) ve döngü başlamadan önce boştur. – egoodberry