У меня есть этот код для добавления слоя geo JSON на карту. Данные содержат как Точки, так и Полигоны, и я хочу, чтобы оба типа обновляли свои цвета.
var AgentLayer = L.geoJSON().addTo(Lmap)
var geojsonMarkerOptions = {
radius: 2,
fillColor: "#ff7800",
color: "#000",
weight: 1,
opacity: 1,
fillOpacity: 0.8
}
this.render = function (data) {
AgentLayer.remove()
console.log(data)
AgentLayer = L.geoJSON(data, {
// style: function (feature) {
// return {color: feature.properties.color};
// }
pointToLayer: function (feature, latlang) {
return L.circleMarker(latlang, {radius:feature.properties.radius, color: feature.properties.color});
}
}).addTo(Lmap)
}
Все объекты прорисованы, но Полигоны берут синий цвет по умолчанию, а не тот, который у них есть на самом деле. назначены. Очки обновляются правильно. Три закомментированные строки с style
обновляют цвет полигонов (а не точек), только если у меня нет трех pointToLayer
линий.
Возможно ли обрабатывать оба обновления цвета в одном и том же слой (потому что данные смешиваются с точками и полигонами)?
Я попытался создать два разных слоя и попытаться разделить данные, обрабатываемые каждым, с помощью instanceof
, но мне не удалось даже сделать карта отображается в браузере ...