【问题标题】:getting "Error: Invalid Geojson Object" even though my json is valid得到“错误:无效的 Geojson 对象”,即使我的 json 是有效的
【发布时间】:2019-12-18 12:09:37
【问题描述】:

我一直在尝试使用 Leaflet 和 jQuery 创建比例符号图。当前收到错误“无效的 Geojson 对象”。我已经使用 jsonlint.com 验证了我的 json,它是有效的。我认为错误必须来自我获取json的方法。

我在尝试将我的 json 用作本地文件时遇到了 CORS 错误,因此我将它在线托管,这里是 URL:https://api.myjson.com/bins/nh71g

我已尝试将其放入我的 Javascript 中,如下所示:

$.getJSON("https://api.myjson.com/bins/nh71g")

我尝试使用$.get 而不是$.getJSON,但这也没有用。

不确定如何继续。有人可以帮忙吗?

【问题讨论】:

  • 你遇到了什么错误?
  • 我认为您可能还有其他一些您的问题未涵盖的错误。使用 $.getJSON(url, success_function) 对我有用
  • 错误提示“错误:无效的 GeoJSON 对象”。没有别的。
  • 您尚未发布出现错误的代码。但是您可以考虑使用leaflet-ajax 插件来为您处理所有复杂的事情 - github.com/calvinmetcalf/leaflet-ajax
  • 我的代码是jsfiddle.net/sophhGIS/8nadyhux/16,但它目前不起作用,但我不知道如何尝试修复它,直到我摆脱了这个geojson错误:-(

标签: javascript jquery json leaflet


【解决方案1】:

我试图通过不同的网站验证你的 geoJson,http://geojsonlint.com/ 在我删除之前不起作用

"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},

如果没有帮助 - 请查看您的传单代码,您应该将数据放入 L.geoJSON() method

【讨论】:

  • 我已经删除了这个位,虽然当我在记事本++中输入我的代码时它在 Geojsonlint.com 中有效,但当我加载页面时,我的 Web 控制台中仍然出现“错误:无效的 geojson 对象”错误火狐。不知道如何继续。
【解决方案2】:

这似乎有效,您可能没有正确处理结果吗?

$.getJSON("https://api.myjson.com/bins/nh71g", function(data){
  $('#result').text(JSON.stringify(data))
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='result'></div>

编辑:另外,在这里测试时:http://geojsonlint.com/ 它说您的 geoJSON 无效,错误消息更好一点 Line 1: old-style crs member is not recommended, this object is equivalent to the default and should be removed

EDIT2:似乎从您的 json 中删除 "crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}} 使其有效并正确绘图。

【讨论】:

  • 我不确定。我的完整代码要长得多,但控制台中的唯一错误是“错误:无效的 GeoJSON 对象”。我已将我的代码复制到此处:jsfiddle.net/sophhGIS/8nadyhux/16 但它不起作用。我不知道如何让它工作,但我什至不能在记事本++中尝试,直到我摆脱了这个 geojson 错误。有什么我想念的吗?
  • 这可能来自您尝试使用数据的地方。您也可以发布该代码吗?
  • 刚刚编辑了我的评论以在我的代码中包含一个 jsfiddle 链接 :-)
  • @sophhGIS 我编辑了我的答案,看看是否能解决你的问题。
  • 实际上只需从文件中删除,"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},它应该可以工作。不要忘记前面的逗号!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-17
相关资源
最近更新 更多