2013-06-10 6 views
0

У меня есть карта OSM, и я использую листовки.Листовка Multipolygon custom popup

Я создал свое собственное всплывающее окно для маркера. Это хорошо и правильно.

marker.bindPopup(strMsg,{className: 'myPopup'}); 

Этот код работает отлично.

Теперь я хочу создать одно и то же всплывающее окно, но нажав на Multilopygon. Данные для многоугольника поступают от geoJSON. Это код, который я написал для этой проблемы

var c_park = L.geoJson(data[i].geom, { 
      style: myStyle 
      }); 
      c_park.bindPopup("strMsg",{className: 'myPopup'}); 
      map.addLayer(c_park); 

Проблема заключается в класс myPopup не работает всплывающее меню MultiPolygon и в результате я получаю нативный всплывающее окно. Если я вручную изменю класс в браузере - это нормально.

Я пробовал разные методы. F.E. используя функцию onEachFeature для запуска всплывающих окон. Но ничего не работает.

Кто-нибудь знает, в чем проблема?

ответ

0

Кто-нибудь знает, в чем проблема?

Нет проблем. ClassName поддерживается для маркеров как опция для L.icon. (docs).

Полигон наследует варианты полилинии и пути, которые не включают ClassName (docs).

Как я вижу у вас есть две возможности:

  1. вилки листовку и добавить опцию Classname в многоугольник
  2. сделать наследующий полигон подкласса принимая Classname в качестве опции при перегрузке bindPopup
+0

Благодарю. Я решил проблему, перегружая классы css внутри leaflet.css –

+0

Это хорошая идея! (Думаю, я собираюсь использовать его в своем проекте :)) –

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

  • Нет связанных вопросов^_^