javascriptアプリでMapbox Directionsを使用して、ジオメトリとルーティングデータ(2つの緯度/経度のペアの間)をブラウザに正常に返します。私は地図上にそれらを接続するルートポリラインを表示しようとしていますが、データが存在していても結果オブジェクトから方向データにアクセスすることはできません。ここでMapboxの指示:結果から方向データを抽出する方法
は、要求コードです:
L.mapbox.accessToken ='pk.eyJ1Ij...9Uk_Z8JqMOQ';
L.mapbox.id = 'tom...ibb';
var startLatLng = L.latLng(38.935899, -77.022353);
var endLatLng = L.latLng(38.90, -77.10);
var directions = L.mapbox.directions();
directions.setOrigin(startLatLng);
directions.setDestination(endLatLng);
var route = directions.query();
console.dir(route);
console.dirラインに注意してください。
console.log(route.destination);
=> Object {type: "Feature", geometry: Object, properties:...
console.log(route.origin);
=> Object {type: "Feature", geometry: Object, properties:...
console.log(route.options);
=> Object {units: "imperial"}
しかし:
_initHooksCalled:true
_query:null
_requests:Array[0]
_waypoints:Array[0]
destination:Object
directions:Object
options:Object
origin:Object
これは私がroute.destination、route.optionsとroute.originオブジェクトのためのコンソールで見るものである:これは私がルートをコンソールに表示するものです私はroute.directionsを見ようとします、それは未定義です。
directions:Object
destination:Object
origin:Object
routes:Array[2]
0:Object
distance:10460
duration:862
geometry:Object
steps:Array[26]
...
アクセスしたときに、なぜこれが「未定義」のようになります。「オープニング」(console.dir経由)コンソールで、全体のルートオブジェクトは私が探しています方向のデータを参照してください
console.log(route.directions);
=> undefined
それは同じドット構文を使用して他の "サブオブジェクト"(例えばroute.options)の内容を見ることができるとき、特にroute.directionsで?私はルートオブジェクトvar routeJson = JSON.stringify(route);
を "文字列化" するとき
最後に、私はこれを見ていない:
{"options":{
"units":"imperial"
},
"_waypoints":[],
"_initHooksCalled":true,
"origin":{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[-77.022353,38.935899]
},
"properties":{"query":[-77.022353,38.935899]}
},
"destination":{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[-77.1,38.9]},
"properties":{"query":[-77.1,38.9]}
},
"_requests":[],
"_query":{}}
再び、NO方向のコンテンツを!どんな考えでも大歓迎です!
おそらく 'instructions'や' geometry'パラメータを渡すと、それらのビットが返されますか?ドキュメントは少し曖昧です... –