首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Leaflet错误:无效的LatLng对象:(,未定义)

Leaflet错误:无效的LatLng对象:(,未定义)
EN

Stack Overflow用户
提问于 2013-11-05 00:25:59
回答 2查看 11.4K关注 0票数 2

我正在尝试将我的L.polygon数据移动到另一个文件。我使用jQuery从单独的文件中获取数据。它似乎应该返回与我将其作为index.html文件中的L.polygon时使用的数据完全相同的数据,但它返回的却是这个错误:

代码语言:javascript
运行
复制
Invalid LatLng object: ( , undefined) 

我搜索了这个错误,但似乎每个报告它的人都使用了与我不同的数据类型

下面是完整的示例:

index.html:

代码语言:javascript
运行
复制
<!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>

data/temp.csv:

代码语言:javascript
运行
复制
[
[33.829205,-84.377261],
[33.829121,-84.377257],
[33.829039,-84.377271],
[33.828937,-84.377204],
[33.828871,-84.377122]
]

编辑:为了清楚起见,将以下代码添加到index.html文件中很好,但是从另一个文件(上面)引入它就不起作用了。

代码语言:javascript
运行
复制
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);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-05 00:42:36

L.polygon()需要一个LatLng对象数组。

您需要遍历数组,为每个元素创建一个LatLng,或者将该列表包装在一个GeoJSON对象中,然后使用GeoJSON类为您完成此操作。

类似于:

代码语言:javascript
运行
复制
L.geoJson({"type": "Polygon", "coordinates": data}).setStyle(defaultStyle).addTo(map);

来自注释的编辑:事实证明,L.polygon()实际上是自动地将数组数组转换为LatLng数组。相反,问题是您需要显式地将"json“作为最后一个参数传递给$.get(),以确保它实际上将字符串解析为JSON,而不是返回原始字符串。

票数 4
EN

Stack Overflow用户

发布于 2014-04-16 16:34:27

你可以使用JSON.parse(data) .for me,它可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19772227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档