我試圖將我的L.polygon數據移動到不同的文件。我使用jQuery從單獨的文件中獲取數據。現在看來似乎應該返回我使用當我有它作爲index.html文件一L.polygon完全相同的數據,而是它返回這個錯誤:傳單錯誤:無效的LatLng對象:(,undefined)
Invalid LatLng object: (, undefined)
我搜索的錯誤,但似乎所有其他人都報告說它使用的數據類型與我的不同。
下面是完整的例子:
的index.html:
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<style type="text/css">
#map {
height: 500px;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="text/javascript">
var map = L.map('map').setView([33.720818, -84.240], 11);
$.get("data/temp.csv", function(data) {
console.log(data);
var temp = new L.polygon(data).setStyle(defaultStyle).addTo(map);
});
</script>
</body>
</html>
數據/ temp.csv:
[
[33.829205,-84.377261],
[33.829121,-84.377257],
[33.829039,-84.377271],
[33.828937,-84.377204],
[33.828871,-84.377122]
]
編輯:澄清,加入以下中的index.html文件工作正常,但從另一個文件(上面)中引入不起作用。
var temp = L.polygon([
[33.829205,-84.377261],
[33.829121,-84.377257],
[33.829039,-84.377271],
[33.828937,-84.377204],
[33.828871,-84.377122]
]).setStyle(defaultStyle).addTo(map);
這裏的'data'可能是一個字符串,這意味着您正在執行'L.polygon(「[]]」)而不是'L.polygon([...])'。也許試試'$ .getJSON'而不是'$ .get',或者'data = $ .parseJSON(data);'。 – apsillers