2013-02-15 85 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 2014-12-17 09:48:35

+0

你是对的。更新 – psousa 2015-02-23 17:03:37

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

但是你不能合并它们。