有效的geojson文件,没有多边形 - gMaps 3

时间:2015-02-18 17:59:39

标签: google-maps geojson

我无法在谷歌地图上显示json数据(geojson)。我已经在jslint检查了我的json文件,它没有报告任何此类错误。

我收到以下错误消息:InvalidValueError:in property“features”:at index 0:in property“geometry”:in property“coordinates”:at index 0:at index 5:not LatLng or LatLngLiteral:in property lat:不是数字。

以下示例代码:

var map;

function initialize() {
var map = new google.maps.Map(document.getElementById('map_canvas'), {
    center:new google.maps.LatLng(53.760861, -98.813876),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    zoom: 5
});

// Load a GeoJSON from the same server as our demo.
map.data.loadGeoJson('data.json');

} // end initialize

 google.maps.event.addDomListener( window, 'load', initialize );

任何建议表示赞赏。感谢。

2 个答案:

答案 0 :(得分:0)

您应该使用http://www.geojsonlint.com检查您的GeoJSON您的JSON可以完全有效,但这并不意味着它是有效的GeoJSON。例如,你得到的错误:

{
    "type": "Feature",
    "properties": {},
    "geometry": {
        "type": "Point",
        "coordinates": ["Foo", "Bar"]
    }
}

以上是有效的JSON,虽然它不是有效的GeoJSON,但坐标数组应包含数字,而不是字符串。即使您有coordinates: ["1", "2"],它仍然无效,因为这些字符串与实际数字coordinates: [1, 2]不同。

使用我在上面分享的链接检查你的GeoJSON,你会看到。

答案 1 :(得分:0)

感谢您的建议,这很有帮助。事实证明,geojson文件不是json可序列化的。我需要恢复geojson文件并确定它有什么问题。

干杯