未捕获的TypeError:对象[object Object]在文件y处没有方法'x'错误

时间:2013-10-18 13:32:30

标签: javascript android leaflet

我在Android中使用LeafLet,我正试图在alert中显示已编辑的坐标。

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

当我在网络浏览器上试用它时,它运行良好..但是当我在Android中尝试这个时,我收到了这个错误。

有什么建议吗?

10-18 16:22:05.240:E / Web Console(4459):未捕获的TypeError:对象[object Object]在文件中没有方法'getLatLngs':///android_asset/www/main.html :114

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

安迪感谢解决方案,但这不是拼写错误 如果您使用标记,则必须使用 getLatLng()函数,因为Marker只有一个LatLng。
如果您使用多于 1点(如多边形,折线),则必须使用 getLatLngs()函数。我正在与Marker合作,我试图将getLatLngs()与Marker一起使用。这就是问题