2013-10-18 45 views
0

我在Android中使用LeafLet,并试图在编辑器中显示编辑好的坐标。Uncaught TypeError:Object [object Object]在文件y中没有方法'x'错误

HEAD

<head> 


<link rel="stylesheet" href="leaflet.css" /> 
<link rel="stylesheet" href="leaflet.draw.css" /> 
<script src="leaflet.js" type="text/javascript"></script> 
<script src="leaflet.draw.js" type="text/javascript"></script> 
<script src="tmp.js" type="text/javascript"></script> 
<script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script> 
<script src="http://matchingnotes.com/javascripts/leaflet-google.js"></script> 
<script src="webintent.js" type="text/javascript"></script> 
<script src="json2.js" type="text/javascript"></script> 

<style type="text/css"> 
#map { height: 100%; 
width: 100%; } 
</style> 

</head> 

这里是我的功能

map.on('draw:edited', function (e) { 
    // Update db to save latest changes. 
    var layers = e.layers; 

    layers.eachLayer(function(layer) { 
     alert(layer.getLatLngs().toString()); //this is 114. command line 
    }); 
}); 

当我尝试这在Web浏览器,它是工作好。但是当我尝试这在Android中,我得到这个错误。

有什么建议吗?

10-18 16:22:05.240:E/Web Console(4459):Uncaught TypeError:Object [object Object]在file:///android_asset/www/main.html处没有方法'getLatLngs': 114

回答

0

安迪感谢您的解决方案,但它不是错字。
如果您使用标记,则必须使用getLatLng()函数,因为Marker只有一个LatLng。
如果你正在使用多于 1点像多边形,多段线,你必须使用getLatLngs()函数。我正在与Marker合作,并且我正在尝试使用带标记的getLatLngs()。这是问题

+0

是的,当你批准错字时,我感到困惑。 – yarl

0

这是一个错字。它应该是alert(layer.getLatLng().toString());

+0

感谢您的解决方案。它现在正在工作,但我不明白它如何在浏览器上工作没有任何错误? –

+0

它看起来像作者在某些版本中更改了方法。 – yarl

相关问题