2016-04-12 17 views
0

Harita üzerinde biraz daire çizmeye çalışıyorum. Daireleri özellikler olarak oluşturuyorum, sonra bunları bir katmana yerleştiriyorum. Benim sahip olduğum konu, farklı özelliklerin her birini birleştiren bir hat olmasıdır. Özelliklerin bağlanmasına neden olan nedir?OpenLayers 3 Özellikler Bağlı

// Generate some rings 
var radius = [1000, 2000]; 
var features = []; 
for(var i = 0; i < radius.length; i++) 
{ 
    features[i] = new ol.Feature(new ol.geom.Circle(center, radius[i]/ol.proj.METERS_PER_UNIT.m)); 
} 

// Add features to new layer. 
var layer = new ol.layer.Vector({ 
    source: new ol.source.Vector({ 
     features: features 
    }), 
    style: new ol.style.Style({ 
     stroke: new ol.style.Stroke({ 
      width: 1, 
      color: [0, 0, 255, 1] 
     }) 
    }) 
}); 
map.addLayer(layer); 

Düzenleme: İşte ben [0,0] atacak bir başlangıç ​​merkezi, tanımlamak zorunda gerçi ben

+0

Bağlantı hatlarının ekran görüntüsünü ekler misiniz? Kodun benim için gayet iyi çalışıyor, ben de birkaç şeyi değiştirdim. Yardımcı olması durumunda sürümümü aşağıda yapıştırırım. – sifriday

+0

Sadece s/shot'unuza baktım ve yukarıdaki kodunuzun buna neden neden olduğu net değil. Daha fazla kod yazabilir misin? veya problemi plunkr veya jsfiddle içinde yeniden oluşturun? – sifriday

+0

@sifriday Sadece plunker üzerinde kontrol ettim ve bağlantı hatları yoktu. Mesele, 3.15.0 openlayers'm vardı ve 3.2.1'e geçme sorunu çözüldü. Yardım için teşekkürler. – Mitch

cevap

0

Bağlı dairelerin sebebi, openlayers içindeki bir hatadır. En yeni sürüme güncellemek sorunu düzeltmiştir.

0

Kodunuz benim için iyi çalıştı http://i.imgur.com/jV19gTJ.png alıyorum ne bir ekran görüntüsü Harita için tanımladığım görünümü eşleştir.

<div id="map" style="width: 100%; height: 500px"></div> 

ve bu JavaScript:

Ben de (? Sen belki sorun olduğunu, senin Q bu biraz ürünle değil)

ben bu HTML kullanılan bazı ol.Map kod eklendi
var center = [0, 0]; 
var radius = [1000, 2000, 3000, 4000]; 
var features = []; 
for(var i = 0; i < radius.length; i++) 
{ 
    features[i] = new ol.Feature(new ol.geom.Circle(center, radius[i]/ol.proj.METERS_PER_UNIT.m)); 
} 

// Add features to new layer. 
var layer = new ol.layer.Vector({ 
    source: new ol.source.Vector({ 
     features: features 
    }), 
    style: new ol.style.Style({ 
     stroke: new ol.style.Stroke({ 
      width: 1, 
      color: [0, 0, 255, 1] 
     }) 
    }) 
}); 

var map = new ol.Map({ 
    layers: [ 
     new ol.layer.Tile({ 
      source: new ol.source.OSM() 
     }), 
     layer 
    ], 
    target: 'map', 
    view: new ol.View({ 
     center: [0, 0], 
     zoom: 10 
    }) 
}); 
İlgili konular