2013-10-18 44 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

相關問題