2014-02-18 3 views
1

Можно ли определить свои собственные значки маркеров в GeoJSON?Angular Leaflet geojson custom marker

Я перепробовал много способов, чтобы получить желаемый эффект, но ничего не работает ..

Пример кода из GeoJSON FeatureCollection, где я хочу добавить пользовательский значок:

{ 
    "type": "Feature", 
    "id": "Point1", 
    "properties": { 
     "name": "Last point" 
    }, 
    "geometry": { 
     "type": "Point", 
     "coordinates": [22.57031047873893, 51.25080964529834] 
    } 
} 

ответ

0

MapBox создал CustomMarker plugin для листовка, что должен сделать трюк.

И еще один пример из MapBox, GeoJSON Custom Markers and Style

Вот некоторые примеры кода с этого сайта:

var geoJsonData = { 
    "type": "FeatureCollection", 
    "features": [{ 
     "type": "Feature", 
     "properties": { 
     "fillColor": "#eeffee", 
     "fillOpacity": 0.8 
     }, 
     "geometry": { 
     "type": "Polygon", 
     "coordinates": [ 
      [ 
      [119.2895599, 21.718679], 
      [119.2895599, 25.373809], 
      [122.61840, 25.37380917], 
      [122.61840, 21.71867980], 
      [119.2895599, 21.718679] 
      ] 
     ] 
     } 
    }, { 
     "type": "Feature", 
     "properties": { 
     "marker-color": "#00ff00" 
     }, 
     "geometry": { 
     "type": "Point", 
     "coordinates": [120.89355, 23.68477] 
     } 
    }] 
}; 

var geoJson = L.geoJson(geoJsonData, { 
    pointToLayer: L.mapbox.marker.style, 
    style: function(feature) { return feature.properties; } 
}).addTo(map); 

Примечание: Это не является частью основной LeafletJS библиотеки, он требует mapbox.js (и mapbox.css)

0

При обновлении до последней версии (во время написания) начнет работать обратный вызов pointToLayer в вашем объекте geojson. Он, похоже, не реализован в 0.7.7, но в настоящее время доступен для мастера, и я предполагаю, что он будет в 0.8+.

Если вы просто назначили определение geoJSON для свойства вашей области видимости geojson, функция, представленная в настоящем листе, отобразит ее правильно.

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