2015-10-18 5 views
0

Я заполняю функции OpenLayer 3, загружая массив multipointCoords из нескольких функций GeoJSON по отдельности. Я повторно следующей функции каждый раз, когда я загрузить функцию GeoJSON:Добавление нескольких слоев в OpenLayers 3

function makeLineString(multipointCoords) { 

     var trackSource = new ol.source.Vector(); 

     var lineString = new ol.geom.LineString([ // create a linestring geometry from the GeoJSON data for the tracks 
      ol.proj.fromLonLat(multipointCoords[0][0]) 
     ]); 

     var trackFeature = new ol.Feature({ // create a feature with the linestring geometry 
      geometry: lineString 
     }); 

     trackSource.addFeature(trackFeature); // add the feature to the sourc 

     var trackLayer = new ol.layer.Vector({ // create a layer with that source 
      source: trackSource 
     }); 
     map.addLayer(trackLayer); // add the layer to the map 
}; 

ли я загрузку всех функций, независимо от того, какого набора данных они пришли, на тот же слой или несколько «путеукладчики» создаются? Есть ли способ адресовать слои и функции, с помощью которых они были установлены?

+0

Не забудьте дать обратную связь? Правильно? –

ответ

1

Да, вы создаете новый источник (с одной функцией) и новый слой для каждого вызова makeLineString.

Обычно вы хотите поместить все функции из данного набора данных в один и тот же источник (и, следовательно, на тот же слой). Наиболее распространенный способ сделать это - настроить источник с помощью url и format, представляющий собой удаленный набор данных.

Пример загрузки всех функций из файла GeoJSON в тот же источник и отображения их в одном слое от official examples:

var vector = new ol.layer.Vector({ 
    source: new ol.source.Vector({ 
    url: 'data/geojson/countries.geojson', 
    format: new ol.format.GeoJSON(), 
    wrapX: false 
    }) 
}); 
+0

Спасибо, Элвин. Можете ли вы перефразировать или объяснить свое последнее предложение? Я пытаюсь обернуть голову вокруг входов и выходов источников и слоев. Геометрия и особенности кажутся более ясными: они, похоже, сопоставляются друг с другом. – interwebjill

+0

Да, это предложение было странным. Теперь лучше? –

+0

Да. Большое спасибо. – interwebjill

Смежные вопросы