私は管理者が異なる停止地点を持つ特定の場所を旅行するアプリケーションを作成しています。Mapbox gl directions API
地図を表示するには、マーカー、飛行機の位置などを追加するにはMapbox GL
を使用しています。
私が運転方向を取得し、だから私は私の方向を表す座標のリストを受け取るcURL
コールの一例として、マップ
上に線を描画するMapbox
APIのcURL
実装を使用していました。
問題は、マップ上でこれらのポイントを接続しようとすると表示されます。いくつかのJS
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<title></title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.18.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.18.0/mapbox-gl.css' rel='stylesheet' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>
<div id='map'></div>
<script>
mapboxgl.accessToken = '<ACCESS TOKEN>';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v8',
center: [-122.486052, 37.830348],
zoom: 15
});
map.on('load', function() {
map.addSource("route", {
"type": "geojson",
"data": {
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[-155.088899,19.722942],[-155.08565,19.72472],[-155.084661,19.723701],[-155.083569,19.723139],[-155.079557,19.722262],[-155.074227,19.721938],[-155.069939,19.722545],[-155.070061,19.721225],[-155.07007,19.711726]
]
}
}
});
map.addLayer({
"id": "route",
"type": "line",
"source": "route",
"layout": {
"line-join": "round",
"line-cap": "round"
},
"paint": {
"line-color": "#888",
"line-width": 8
}
});
});
</script>
</body>
</html>
とHTML
の例として
あなたは線を引くために接続される座標のセットを見ることができます。私は線が道だけに従うようにこれらの点を結ぶ方法があるかどうか疑問に思っていた(運転のために)?
の近いズームで私はそれは私の問題のかなり一般的な説明だけど、私はそれが理解できる願っています。
Mapbox Gl Directions API
と私はいくつかの魔法をしようとしていましたが、私は好きではないcontoller
を追加する必要があります。私はルートを描き、一般のユーザーがそれを修正できるようにする必要はありません。
アドバイスはありますか?
うーん、興味深いアプローチを文書化。私が望むのは、このパターンに従ってA→B→C→Dのようなルートを作成する拡張性です。しかし、私はまだあなたの方法が好きです! –
@AndrejsGubars:私はあなたがそれを求めていたとして、ウェイポイントを追加するにはいくつかのより多くのノートで上記の答えを更新しました。また、解決策を作る上でいくつかのノートを追加しました。希望が役立ちます。 –
はい、見つけてください!それはまさに私がやりたかったことです。私はあまりにも野心的で、ライブラリ全体が何かを期待していたと思います:)しかし、あなたのアドバイスに感謝します! –