我正试图从传单路由机的数据中创建一个数组。我需要采用这种格式:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
-122.404947281,
37.7815184928,
0
],
[
-122.409410477,
37.7780078698,
0
],
[
-122.510712147,
37.7691033683,
0
]
]
},
"properties": {
"name": "\n"
}
}
]
}
但是我只能得到这个: 输出:
{"type":"LineString","coordinates":[[-1.55654,52.41007,0],[-1.5567,52.41003,0],[-1.55674,52.41002,0],[-1.55677,52.40999,0],[-1.55445,52.413,0]]}
使用leaflet.routine.machine时的代码
myroutewithout.on('routeselected', function(e) {
var lineCoordinates = [],
i,
latLng;
for (i = 0; i < e.route.coordinates.length; i++) {
latLng = L.latLng(e.route.coordinates[i]);
lineCoordinates.push([latLng.lng, latLng.lat, 0]);
}
var json = {
type: "FeatureCollection",
features: [],
type: 'LineString',
coordinates: lineCoordinates
};
var jsonExport = JSON.stringify(json)
console.log(jsonExport);
});
如何在开始时添加额外的内容?
答案 0 :(得分:0)
我最终还是这样做的,而且效果很好
var geojson = {
"type":"FeatureCollection",
"features":[{
"type":"Feature",
"geometry":{
"type":"LineString",
"coordinates":[]
},
"properties":null
}]
};
var lineCoordinates = [],
i,
latLng;
for (i = 0; i < e.route.coordinates.length; i++) {
latLng = L.latLng(e.route.coordinates[i]);
geojson.features[0].geometry.coordinates.push([latLng.lng, latLng.lat, 0]);
}