我在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
答案 0 :(得分:0)
这是一个错字。它应该是alert(layer.getLatLng().toString());
。
答案 1 :(得分:0)
安迪感谢解决方案,但这不是拼写错误
如果您使用标记,则必须使用 getLatLng()函数,因为Marker只有一个LatLng。
如果您使用多于 1点(如多边形,折线),则必须使用 getLatLngs()函数。我正在与Marker合作,我试图将getLatLngs()与Marker一起使用。这就是问题