2013-02-15 9 views
7

Sono nuovo al volantino e sto cercando di visualizzare i marcatori. Le esercitazioni non sembrano funzionare per me. La mappa si presenta bene, tuttavia non riesco a visualizzare un indicatore. sotto è il mio codice di esempio:Indicatori di opuscoli

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); 

    }); 

Ho provato i campioni nelle esercitazioni cioè: .addTo(map);, map.addLayer(markers); ecc

risposta

14

Il costruttore L.marker dovrebbe essere usato come:

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

È possibile verificare il riferimento dell'API here

+0

È che "nuovo" dovrebbe essere lì? Dovrebbe essere un metodo di fabbrica, non è vero? – spinkus

+0

hai ragione. aggiornato – psousa

0

La sintassi effettiva per la creazione del marker del volantino è

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

È possibile controllare il riferimento API here
Di seguito è riportato il codice

codice corretto

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]); 

o

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

poi:

map.addLayer(markers); 
0

è possibile farlo sia usando fabbrica o la parola 'nuovo' sulla classe (che a mio avviso è quello che la fabbrica fa comunque. La differenza è nel caso utilizzato.

credo che questi dovrebbero entrambi funzionano allo stesso modo:

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); 

Ma non è possibile combinarli.

0

È possibile trovare l'esempio di lavoro qui < https://jsfiddle.net/viswanathamsantosh/x63kzb31/>. La riga sottostante aggiungerebbe un marker e anche un popup alla mappa quando si fa clic sul marker.

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