私はjavascript、Google方向サービスを使用しています。地図上に複数の出発点と1つの目的地があります。宛先ポイントに最も近いソース ポイントを見つける必要があります。方向サービスは非同期で機能するため、ポイントを緯度/言語でマッピングする必要があります。ただし、問題は、方向サービスによって送信される応答形式が変わることです。
function calcRoute(start, end) {
var request = {
origin:start,
destination:end,
travelMode:google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request,
function (response, status) {
distanceCount++;
if (status == google.maps.DirectionsStatus.OK) {
var dist = computeTotalDistance(response);
console.log(dist);
if (dist < minDistance) {
minDistance = dist;
minDistanceIndex = locationsMap[response.ug.origin.Ua+""+response.ug.origin.Va];
}
if (distanceCount == vl.length) {
drawWay(vl[minDistanceIndex], fsl);
}
}
}
);
}
問題は回線上で発生します
minDistanceIndex = locationsMap[response.ug.origin.Ua+""+response.ug.origin.Va];
response.ug.origin.Vaとresponse.ug.origin.Uaは google 方向サービスから取得されますが、 response.ug.origin.Xaとresponse.ug.origin.Yaに変わることがあります。
なぜそれが時々変わるのか、何か考えがありますか?またはその問題に対処する方法はありますか?