我试图弄清楚如何将传单中的坐标传递给L.LatLng函数,以便它可以映射坐标。
我可以成功加载数据,看起来像这样:
//This is the structure of the geojson data, as an example
var SanFranciscoData = {"type":"FeatureCollection", "features": [
{"type":"Feature","geometry":{"type":"Point","coordinates":[-96.97593699999999,32.889954000000046]}
//Load in the geojson
d3.json("data/dataPoints.json", function(SFData) {
var SFData = SanFranciscoData.features
})
//pass in coordinates to the L.LatLng leaflet function
SFData.forEach(function(d) {
d.latLong = new L.LatLng(d.features.geometry.coordinates[1],
d.features.geometry.coordinates[0]);
})
我也尝试过,如在示例中看到的那样:
var coords = SFData.feature.geometry.coordinates;
以上两种方法均得出相同的结果:坐标未定义。有人可以告诉我我在做什么错吗?我不确定如何使用对象符号访问坐标数组以访问经纬度。任何帮助,不胜感激!
答案 0 :(得分:0)
好..这有效:
SFData.forEach(function(d) {
var coords = d.geometry.coordinates
console.log(coords)
d.latLong = new L.LatLng(coords[1],
coords[0]);
})
似乎需要使用.forEach函数定义坐标!