Bir ASP.NET MVC sitesi inşa ediyorum, burada bir arka plandan AJAX ile yüklenen işaretçileri gösteren bir Google Maps Javascript API haritasına sahip olmak istiyorum.Bir Google Haritalar Javascript API haritasına tembel yükleme işaretleri için strateji
İstemcinin bellek sorunlarıyla karşılaşmasını istemediğimden, işaretleyicileri işaretleyicileri yavaş yavaş yüklemek ve bunları kümelerine eklemek için Fluster2'ye uygulamak istiyorum. İşaretleyicileri tembel olarak yüklemenin en iyi yolunun, haritanın panlaması veya yakınlaştırıldıktan sonra gerçekleşen idle
olayına bir olay dinleyicisi eklemesi olduğunu düşünüyorum.
idle
olay olay dinleyicisi ekleyin:
İşte benim şimdiki strateji.
idle
olayı atıldığında, jQuery öğesinin arka ucuma bir AJAXHTTP POST
çağrısı yapmasını sağlayarak haritanın geçerli görünüm alanını/sınırlarını sağlayın.- Arka uç, görünümün içindeki tüm noktaları döndürür.
- İşaretler, işaretçiler olarak oluşturulur ve bunları haritaya ekleyen Fluster2'ye eklenir. Eski puanlar atılmaz.
- eski noktaları terk edilmez olarak
Ancak bu, sorunları oluşturabilir tekrarlayın. Onları yeniden yüklemek istemediğim için onları atmak istemiyorum, ama şu andaki stratejimle, onları ikinci kez yüklüyor ve ikinci kez işaretleyiciler oluşturuyordum.
Ben nasılsa ben zaten belirteçlerin bazılarına sahip olduğunu AJAX çağrısında arka uç anlatmak için iyi bir fikir değil de, çiftleri izin vermeyen bir Hashtable çeşit uygulamak güzel olurdu .
Bu şekilde, noktaları yüklediğimde bunları önce hashtable'a eklemeye çalışabilirim: eğer başarılı olursa, henüz görüntülemedim, bu yüzden onları işaretçi olarak ekleyebilirim; Başarısız olursa, zaten haritada.
Bu iyi bir strateji mi? Öyleyse, kopyalara izin vermeyen bir hashtabı nasıl uygularım?
Yardımlarınız için teşekkürler! Bunu deneyeceğim. –
Karma anahtar için lat/long öğesinden bir google.maps.latLng nesnesi oluşturabilir ve toString() yöntemini kullanabilirsiniz. – dsas