在Leaflet中未定义event.latLng

时间:2017-03-20 02:08:03

标签: javascript leaflet

出于某种原因,我在控制台中收到undefined,但我不确定原因。

var mp = document.getElementById('map'), ms = mp.style, center = L.latLng(47.62, -122.3321), h = innerHeight-130;
var tl = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'});
ms.height = h+'px';
var map = L.map('map', {center:center, zoom:10, layers:[tl]});
// remove when deployed
map.on('click', function(e){
  console.log(e.latLng);
});

然而,如果我将console.log(e.latLng)更改为console.log(e),我会看到结果。根据他们自己的documentation,它应该工作。为什么不呢?

2 个答案:

答案 0 :(得分:2)

e.latLng应该是e.latlng。很难看到区分大小写的问题。

答案 1 :(得分:0)

How do I get the latlng after the dragend event in leaflet?可能重复。

  

latlng值不在e.latlng中,而是在e.target._latlng中。使用控制台。