我有一个GeoJson文件,我正在尝试将它加载到Leaflet的logic.js中。我在console.logged响应中获取了数据,但是,当我尝试将数据应用于地图时,它给了我以下错误:Uncaught (in promise) Error: Invalid GeoJSON object.
我的GeoJSON数据如下所示:
"type": "WineCollection",
"wines": [
{
"type": "wine",
"properties": {
"country": "Albania",
"points": 88.0,
"price": 20.0
},
"geometry": {
"type": "Point",
"coordinates": [
19.9999619,
41.000028
]
}
},
这是我的代码:
center: [40.7128, -74.0059],
zoom: 2.5
});
// Adding tile layer
L.tileLayer("https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}", {
attribution: "Map data © <a href=\"https://www.openstreetmap.org/\">OpenStreetMap</a> contributors, <a href=\"https://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>, Imagery © <a href=\"https://www.mapbox.com/\">Mapbox</a>",
maxZoom: 18,
id: "mapbox.streets",
accessToken: API_KEY
}).addTo(myMap);
d3.json("static/js/wine.json").then(function(data) {
L.geoJson(data).addTo(myMap);
});
答案 0 :(得分:0)
数据样本不符合GeoJSON specification。
您可以拥有一个“ FeatureCollection”类型的对象,并具有一个“ features”数组,这些数组是“ Feature”类型的对象(并具有数据样本中的“ properties”和“ geometry”)。
很遗憾,您无法自定义这些类型。
有几种可用的GeoJSON linting工具可以帮助您快速发现不合规的数据,例如http://geojsonlint.com/