2016-12-21 16 views
0

У меня есть функция MultiPoint со следующим гео-json.Openlayers 3 - различный стиль/маркер для каждой точки в функции MultiPoint

{ 
    "type": "Feature", 
    "geometry": { 
     "type": "MultiPoint", 
     "coordinates": [ 
      [ 
       -123, 
       58 
      ], 
      [ 
       -152.32, 
       17.5 
      ], 
      [ 
       52.02, 
       42.64 
      ] 
     ] 
    } 
} 

Когда я рисую это на карте и применить любой значок с помощью функции стиля, его применять для всех points.But Я хотел бы показать все 3 координаты выше с различными значками на карте. Есть ли способ добавить разные маркеры для каждой координаты в функции Multipoint?

+1

Это дублирующее сообщение http://gis.stackexchange.com/questions/222187/openlayers-3-different-style-marker-for-each-point-on-a-multipoint-feature – bartvde

ответ

0

Для применения разных стилей для разных координат в MultiPoint необходимо написать разные стили для каждой координаты. Я создал представление в plunker. Пройдите код в этом link

new ol.style.Style({ 
    image: new ol.style.Circle({ 
     radius: 5, 
     fill: new ol.style.Fill({ 
     color: 'orange' 
     }) 
    }), 
    geometry: function(feature) { 
     var coordinates = feature.getGeometry().getCoordinates(); 
     return new ol.geom.Point(coordinates[0]); 
    } 
    }) 

В функции геометрии рассмотрит одной координату и применить стиль для нее.

Примечание: Если у MultiPoint больше точек, код будет раздутым.