0

そのページhttps://developers.google.com/maps/customizeの 3 番目の例を再現しようとしていますが、独自のルートを使用しており、これまでのところあまり運がありません。

問題は、「setDirections」を使用してGoogleのAPIからパスを取得することですが、私は自分の経度、緯度でハイキングルートを作成していますが、その部分を処理する方法を本当に知りません.

これが私がこれまでに得た場所ですhttp://dev.oneshot.nc/www.megarando.nc/html/map.html

4

1 に答える 1

0

setDirections は問題ありません: 公式ドキュメントによると、それらは文字列 (サーバー側の Google のジオコーダー エンジンによって暗黙的に解決される) または LatLong オブジェクトのいずれかであり、あなたのものは問題ありません。

origin: LatLng | String,
destination: LatLng | String,

https://developers.google.com/maps/documentation/javascript/directions#DirectionsRequests

ただし、完全なパスが定義されているため、表示ロジックのみを使用したいと思います。次に、道順は必ずしもあなたのためではありません。代わりにポリラインを使用することを検討してください ( https://developers.google.com/maps/documentation/javascript/overlays#PolylineArrays )。

あらゆる種類のグラフ ビジュアライザ (Google チャート: https://developers.google.com/chart/または Raphael JS ( http://g.raphaeljs.com/またはhttp://raphaeljs.com/analytics.html ) ) を使用して、標高。

コメントに答えるには、これに沿って何かを試してください ( https://developers.google.com/maps/documentation/javascript/overlays#Polylinesに基づく):

var routePath = new google.maps.Polyline({
    path: kids,
    strokeColor: "#FF0000",
    strokeOpacity: 1.0,
    strokeWeight: 2
});

routePath.setMap(map);
elevationPath = kids;
recalcHeight();
});

ご覧のとおり、まず 2 点間のルート リクエストが作成されます。ルートは一連のパスであるため、パスごとにポイントを収集し、それらを統合された配列 (または単一の「パス」) に配置し、いわゆるファサード関数を要求して、ルートのポリラインを描画します。ルート。

ポイントを収集した後、高度サービスを呼び出して、パスに沿った高度を伝えます。これが返されると、チャート API を使用してチャートを描画できます。

ただし、パスは既にあり、パスは 1 つしかありません。パスに基づいてポリラインを描画するように Google マップに指示し (変数の子供)、標高サービスに沿ってポイントの標高を返すように指示するだけです。その道。

于 2012-07-22T22:27:34.237 に答える