Есть ли какой-нибудь возможный способ показать свойства геойсона без функции в листовке? - PullRequest
1 голос
/ 23 декабря 2019

В листовке я могу визуализировать слои геоджонов, используя следующий скрипт:

L.geoJSON('district.json', {
    style: myStyle,
    onEachFeature: function(feature, layer) {
       layer.bindPopup(feature.properties.name);     
  }
}).addTo(map);

Приведенный выше код показывает объекты на карте, а также свойства name при нажатии на карту. Но то, что я хочу, отличается. Я хочу скрыть функцию district.json на карте, но она должна появиться во всплывающем контенте, когда я нажму на позицию feature. Я попробовал следующий стиль:

var myStyle = {
  fillColor: rgb(0,0,0,0),
  opacity: 0,
  strokeOpacity: 0,
}

Это скроет слои, но когда я нажму на карту, ничего не появится. Есть ли возможные стили для этих условий?

1 Ответ

1 голос
/ 23 декабря 2019

Вы можете использовать круговые маркеры следующим образом:

L.geoJSON('district.json', {
    pointToLayer: function (feature, latlng) {
        return L.circleMarker(latlng, {color: 'transparent', fillColor: 'transparent', radius: 20});
    },
    onEachFeature: function(feature, layer) {
       layer.bindPopup(feature.properties.name);     
    }
}).addTo(map);

Таким образом, вы добавляете прозрачный, невидимый круговой маркер для каждого объекта. Вы также можете попробовать различные значения radius , которые приведут к увеличению или уменьшению областей нажатия.

...