ホームページ  >  記事  >  ウェブフロントエンド  >  Google Maps API を使用してポイント間の距離の js コードを取得する_javascript スキル

Google Maps API を使用してポイント間の距離の js コードを取得する_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 17:49:201139ブラウズ
コードをコピーします コードは次のとおりです。

var request;
var distanceArray = [];
function get distance() {
distanceArray = [];
var DirectionsService = new google.maps.DirectionsService();
for (var a = 0; a for (var b = 0; b
pointsArray.length; b ) {
if (a != b) {
request = null;
request = {
origin: PointsArray[a ]、
目的地: PointsArray[b]、
travelMode: google.maps.DirectionsTravelMode.DRIVING、
unitSystem: google.maps.DirectionsUnitSystem.METRIC
}; Route(request , function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var myRoute = response.routes[0].legs[0]. distance.value; //ルートの長さ
distanceArray.push(myRoute)
}
}
}


質問です。Google Maps API を使用してポイント間の距離を取得する場合、取得した距離情報が適切であることを確認する方法を教えてください。
例: PointsArray[] に 3 つの点 a、b、c があります。[a, b]、[a, c]、[b, a]、[ b を順番に取得するにはどうすればよいですか? ,c],[c,a],[c,b]の距離情報。

上記のコードでは、a!=b のすべての距離が解決のために一度にdirectionsService.routeに渡されます。つまり、周辺のFORループ制御は役に立ちません。したがって、FOR ループに依存して距離を 1 つずつ取得するという期待は失敗しました。ただし、デバッグを追加してループ解決プロセスを段階的に制御すると、順序付けされた距離配列を取得できます。理解できません!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。