Bir Broşür haritasında göstermek istediğim global bir veri tabanı veritabanına (bir haritadaki noktalara) sahibim. Bir kerede tüm veritabanını (sadece çok büyük) yüklemek ve bir Broşür LayerGroup üzerinde nesneleri oluşturmak yerine, her bir harita döşemesi yüklendiğinde veriyi sorgulamak için daha verimli bir yol var mı, yoksa özel bir çözüm oluşturmayı düşünüyorum. bunun için?Büyük veri kümelerine Broşür uygulamasında görüntülenecek verimli erişim yolu
cevap
Sen map.on('moveend',loadstuff)
ile harita üzerinde 'moveend' etkinliği izlemek akım map.getBounds()
içindeki işaretleri kapmak için loadstuff()
içinde bir ajax arama yapmak ve sonra ekleme/işaretleri kaldırabilir (Ben her biri için küresel bir nevi tanımlama var varsayılabilir mevcut görünümün içinde mi yoksa dışında mı?
Bu bir cevap olarak işaretlenmeli, bunu yapmanın doğru yolu. – Rudi
Bunu belirtdiğiniz için teşekkür ederiz. Ben çok sofistike bir SO kullanıcısı değilim ama – CuNimb
@snkashis - bunun nasıl yapılacağı konusunda biraz daha ayrıntılı bilgi verebilir misiniz? Tam olarak yapmaya çalıştığım şey ama yeteneklerim çok iyi değil! –
Snkashis'in söylediklerini yapmanın standart ve verimli bir yolu var. Döşenmiş bir geoJSON hizmeti oluşturun ve leaflet-tilelayer-geojson eklentisini kullanın.
Sonra tarayıcı tarafı gereken tüm kodu (Github sayfasından) 'dir:
var geojsonURL = 'http://polymaps.appspot.com/state/{z}/{x}/{y}.json';
var geojsonTileLayer = new L.TileLayer.GeoJSON(geojsonURL, {
clipTiles: true,
unique: function (feature) {
return feature.id;
}
}, {
style: style,
onEachFeature: function (feature, layer) {
if (feature.properties) {
var popupString = '<div class="popup">';
for (var k in feature.properties) {
var v = feature.properties[k];
popupString += k + ': ' + v + '<br />';
}
popupString += '</div>';
layer.bindPopup(popupString);
}
if (!(layer instanceof L.Point)) {
layer.on('mouseover', function() {
layer.setStyle(hoverStyle);
});
layer.on('mouseout', function() {
layer.setStyle(style);
});
}
}
}
);
map.addLayer(geojsonTileLayer);
- 1. Pandalar, büyük veri kümelerine hız uygular.
- 2. verimli yolu
- 3. C++ iki yönlü rasgele erişim için verimli veri yapısı
- 4. Veri kümelerine çoklu sütunlarda nasıl katılır?
- 5. Verimli Facebook Sayfası veri işleme
- 6. Verimli yolu N
- 7. Dizeleri saklamak için bellek verimli yolu
- 8. ggplot2 ile farklı veri kümelerine dayalı iki gösterge efekti
- 9. Spark uygulamasında veri filtreleme Spark
- 10. Broşür getBounds() 180'den büyük boylamlar geri dönüyor
- 11. Erişim ana veri bağlam Meteor
- 12. erişim Plist veri
- 13. Erişim "İstenen veri yükü"?
- 14. TFS'den veri alanına erişim
- 15. Büyük bir Java haritasını verimli bir şekilde nasıl depolarsınız?
- 16. Java'da Veri Erişim Sınıfı Tasarlama
- 17. Büyük veri dosyalarını IEnumerable
- 18. Java - büyük miktarda String dizisini verimli bir şekilde depolamak
- 19. Git'i kullanarak büyük bir dosyayı nasıl verimli bir şekilde indirebilirim?
- 20. Verimli yolu tüm satırı silmek için '@'
- 21. MySQL - Çeyrek Geçen Gün (En Verimli Yolu)
- 22. Sayısal dizide modu bulmanın en verimli yolu
- 23. Python'da rasgele kesinliğe yuvarlanmanın verimli yolu
- 24. viewWillAkran çubuğunun denetleyicilerinde görüntülenecek
- 25. Emulate Broşür haritaya tıklayın
- 26. Sıfır değeri olmayan bir sözlükte en büyük anahtarı bulmanın verimli yolu
- 27. System.IO.WriteAllBytes - yolu inkar hata Erişim
- 28. Görüntülenecek Web Bölümü Kategorisini Değiştir
- 29. Firebase angularjs tam veri erişim
- 30. Büyük bir veri kümesini C# nesnelerine dönüştürme
nasıl haritayı hizmet ediyorsun? Sunucunun bir sınırlayıcı kutu kullanılarak sorgulanabilen bir yönteme sahip olmasını beklerdim. Veya nesnelerin miktarına bağlı olarak, belki de markerclusters kullanabilirsiniz. Örneklerinde [50000 öğe görüntüleyen bir harita] vardır (http://leaflet.github.com/Leaflet.markercluster/example/marker-clustering-realworld.50000.html). – flup
Agregasyon yerine görünür olan her bir işaretçiyi görüntülemek istediğimden, markerclusters kullanmak istemiyorum. Karar vermeye çalıştığım şey haritama nasıl hizmet etmem gerektiği. Bu, hareket ettirildiği veya yakınlaştırıldığı için, sunucuyu her zaman yeni sınırlayıcı kutuya (eski olanla kısmen örtüşen) göre sorgulamak pek mantıklı olmaz. Bunu yapmanın birkaç yolunu görüntüleyebilirim, ancak tekerleği yeniden icat etmeden önce, zaten bu kadar iyi bir çözüm olmadığından emin olmak istiyorum: – CuNimb
Kuyu, bir noktada, tüm dünyaya uzaklaştığınız zaman, Her bir işaretçiyi göstermek demek. Öyleyse kümelenme mantıklı. Ya da asgari yakınlaştırma seviyesinin altında hiç işaretleyici göstermeyecek misiniz? Kaç tane işaretleyiciniz var? – flup