Kodum GeoJSON işaretleyicileri gösteriyor, yakınlaştırılmış konumdayken yakınlaştırma düzeyinde 10, GeoJSON dosyasını yüklüyor, ancak nasıl yeniden yazılmasını önleyebilirim aynı markörler? Belirli bir yerde zaten bir işaretleyici olup olmadığını kontrol etmenin bir yolu var mı? KodOpenLayers ve GeoJSON, aynı koordinatlarda işaret çoğunu değil
map.events.register("zoomend", null, function(){
if(map.zoom == 10)
{
var bounds = map.getExtent();
console.log(bounds);
var ne = new OpenLayers.LonLat(bounds.right,bounds.top).transform(map.getProjectionObject(),wgs84);
var sw = new OpenLayers.LonLat(bounds.left,bounds.bottom).transform(map.getProjectionObject(),wgs84);
var vectorLayer = new OpenLayers.Layer.Vector();
map.addLayer(vectorLayer);
$.getJSON('ajax.php?a=markers&type=json&sw=('+sw.lon+','+sw.lat+')&ne=('+ne.lon+','+ne.lat+')',function(data){
//$.getJSON('test.json',function(data){
var geojson_format = new OpenLayers.Format.GeoJSON({
'externalProjection': wgs84,
'internalProjection': baseProjection
});
vectorLayer.addFeatures(geojson_format.read(data));
});
}
});
Peki, güzel soru - ama bu ekstra güç almak woudn't? BBOX Stratejisinde –
+1, ancak yakınlaştırma seviyesi kısıtlaması nasıl olur? Bu bir Stratejide kullanılabilir mi? –
Zoom seviyesi kısıtlaması varsayılan olarak mevcut değildir. Bunu yapmak için bu sınıfı ('OpenLayers.Strategy.BBOX') geçersiz kılabilirsiniz. Tüm özelliklerin kaldırılması (ikinci çözümüm), eklenmeleri gerekip gerekmediğini öğrenmek için her özelliği karşılaştırmaktan daha maliyetli olmayacaktır. – tonio