Javascript 如何使用L.Routing.line?
如何使用L.Routing.line?他总是报告错误。我想使用L.Routing.line绘制我从服务器发送到地图的计算路径信息 来自我的服务器的数据如下所示:Javascript 如何使用L.Routing.line?,javascript,Javascript,如何使用L.Routing.line?他总是报告错误。我想使用L.Routing.line绘制我从服务器发送到地图的计算路径信息 来自我的服务器的数据如下所示: { "paths": { "distance": 2.951884589808169, "weight": 0.3542261507769803, "time": 353, "ascend": 0.0, "descend": 0.0,
{
"paths": {
"distance": 2.951884589808169,
"weight": 0.3542261507769803,
"time": 353,
"ascend": 0.0,
"descend": 0.0,
"instructions": [{
"distance": 1.537,
"heading": 0.68,
"sign": 0,
"interval": [0, 1],
"text": "继续",
"time": 184,
"street_name": ""
}, {
"distance": 1.415,
"sign": 2,
"interval": [1, 2],
"text": "右转",
"time": 169,
"street_name": ""
}, {
"distance": 0.0,
"sign": 4,
"last_heading": 90.14917948588372,
"interval": [2, 2],
"text": "终点到达",
"time": 0,
"street_name": ""
}],
"points": [
[38.871352, 115.452657],
[38.871366, 115.452657],
[38.871366, 115.452673]
]
},
"hints": {
"empty": false
}
}
我试着这样写:
var waypoints = [];
waypoints.push({latLng: L.latLng(path.points[0][0],path.points[0][1])});
waypoints.push({latLng: L.latLng(path.points[path.points.length-1][0],path.points[path.points.length-1][1])});
var coordinates=[];
for(var i =0 ; i < path.points.length;i++){
coordinates.push({latLng: L.latLng(path.points[i][0],path.points[i][1])});
}
var route = {
name:"",
summary: {
totalDistance: path.distance,
totalTime: path.time / 1000,
},
instructions: _convertInstructions(path.instructions),
waypoints:waypoints,
coordinates:coordinates
}
L.Routing.line(route).addTo(mymap);
从错误中我可以看出,.length
,其中,
路径
是您的json
Object.keys(path.points[0]).length
看起来您正在使用一个特定的库,这是什么?这是传单路由机器dovar p=path.points
然后尝试使用p.length
Uncaught TypeError: Cannot read property 'length' of undefined
at i._findWaypointIndices (leaflet-routing-machine.js:16984)
at i._getWaypointIndices (leaflet-routing-machine.js:17061)
at i._extendToWaypoints (leaflet-routing-machine.js:17011)
at initialize (leaflet-routing-machine.js:16967)
at new i (leaflet.js:5)
at Object.line (leaflet-routing-machine.js:16595)
at Object.success (index:148)
at d (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at S (jquery.min.js:4)