2012-03-26 23 views
5

Leaflet ile çok sayıda coğrafi nokta çizmek istiyorum. Bu nedenle, performansı artırmak için HTML5 kanvasını kullanmak istiyorum. Veritabanım geoJSON. Broşürün belgesinde gördüğüm gibi, coğrafi konumları henüz tuval olarak çizmek mümkün değil.Leaflet js: POI'leri çizim olarak çizme

var anotherGeojsonLayer = new L.GeoJSON(coorsField, { 
     pointToLayer: function (latlng){ 
      return new L.Marker(latlng, { 
       icon: new BaseballIcon() 
      }); 
     } 
    }); 

Buraya kanca gerektiğini düşünüyorum:

pointToLayer: function (LatLng) {}

birileri tuval olarak benim latlng nesneleri çizmek için biliyor mu?

cevap

5

Kimsenin buna ihtiyacı varsa orijinal yanıtı genişletme Broşür 1.0 için. Hala L.marker() yerine L.circleMarker()(Leaflet circleMarker documentation)'u kullanmalısınız, ancak tuvali kullanma yöntemi değişmiştir.

Leaflet 1.0'da, deneysel L_PREFER_CANVAS anahtarı, preferCanvas(Leaflet preferCanvas documentation) resmi harita seçeneğine yükseltilmiştir.

var map = L.map('mapid', { 
     preferCanvas: true 
    }); 

Alternatif olarak, tuval oluşturucuyu açıkça ayarlayabilirsiniz; Bence bu, preferCavas seçeneği ile aynı şeyi yapıyor. İşte Leaflet documentation for canvas.

var map = L.map('mapid', { 
     renderer: L.canvas() 
    }); 

L.circleMarker() ile bu seçeneklerden (preferCanvas: true veya renderer: L.canvas()) herhangi biri

L.marker() kullanarak normal katmana göre önemli ölçüde daha hızlıydı.

İlgili konular