2013-02-15 10 views
7

Я новичок в листовке, и я пытаюсь отобразить маркеры. Учебники, похоже, не работают для меня. Карта отображается хорошо, однако я просто не могу отобразить маркер. ниже мой пример кода:Листовые маркеры

wax.tilejson('http://localhost:8888/v2/DigitalHumanities.json', 
    function(tilejson) { 
     var map = new L.Map('map-div') 
      .addLayer(new wax.leaf.connector(tilejson)) 
      .setView(new L.LatLng(-17.1828,137.4609), 4); 

    var markers = new L.marker(-17.1828,137.4609); 
    map.addLayer(markers); 

    var markerx = new L.marker(137.4609,-17.1828); 
    map.addLayer(markerx); 

    }); 

Я попробовал образцы в учебниках, то есть: .addTo(map);, map.addLayer(markers); и т.д.

ответ

14

Конструктор L.marker должен использоваться в качестве:

var markers = L.marker([-17.1828,137.4609]); 
map.addLayer(markers); 

Вы можете проверить ссылку API here

+0

Разве это 'новый' должен быть там? Предполагалось, что это фабричный метод, не так ли. – spinkus

+0

Ты прав. обновленный – psousa

0

Фактический синтаксис для создания маркера листовки

L.marker(<LatLng> latlng, <Marker options> options?); 

Вы можете проверить ссылку API here
Ниже код

правильный код

wax.tilejson('http://localhost:8888/v2/DigitalHumanities.json', 
    function(tilejson) { 
     var map = new L.Map('map-div') 
      .addLayer(new wax.leaf.connector(tilejson)) 
      .setView(new L.LatLng(-17.1828,137.4609), 4); 

    var markers = new L.marker([-17.1828,137.4609],{clickable:true}); 
    map.addLayer(markers); 

    var markerx = new L.marker([137.4609,-17.1828]); 
    map.addLayer(markerx); 

    }); 
0
let markers = L.marker([-17.1828,137.4609]); 

или

let markers = L.marker({lat: -17.1828,lng: 137.4609});` 

затем:

map.addLayer(markers); 
0

Вы можете сделать это, используя либо завод или «новый» ключевое слово в классе (который я считаю, это то, что завод делает в любом случае. Разница в том, что используется.

Я считаю, что эти оба должны работать точно так же:

var markerx = new L.Marker(L.latLng(137.4609,-17.1828)); 
map.addLayer(markerx); 

.

var markerx = L.marker(L.latLng(137.4609,-17.1828)); 
map.addLayer(markerx); 

Но вы не можете их комбинировать.

0

Здесь приведен рабочий пример < https://jsfiddle.net/viswanathamsantosh/x63kzb31/>. Нижняя строка добавит маркер, а также всплывающее окно на карту при нажатии на маркер.

new L.Marker([46.947, 7.4448]).addTo(map).bindPopup('hello world!!!'); 

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

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