Google マップと 2 つの入力があります。どちらも次のようにオートコンプリートを使用します。
//first input autocomplete
var input1 = (document.getElementById('start'));
var autocomplete1 = new google.maps.places.Autocomplete(input1);
autocomplete1.bindTo('bounds', map);
//second input autocomplete
var input2 = (document.getElementById('end'));
var autocomplete2 = new google.maps.places.Autocomplete(input2);
autocomplete2.bindTo('bounds', map);
これらの両方の入力を入力した後、Directions API を使用して、それらの間の最短経路を表示しています。
function calcRoute() {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
私の入力は次のようになります。
<input type="text" id="start" onchange="calcRoute();" />
<input type="text" id="end" onchange="calcRoute();" />
問題:
たとえば、これらの入力に完全なアドレスを入力すると、すべてが正常に機能します。
ドイツのベルリンとドイツのハンブルグ (入力されたすべての文字が onchange() をトリガーするためだと思います)。
しかし、私が入力すると:
ベルリン、ドイツ、次にハム > Google オートコンプリート ドロップダウン リストからハンブルグをクリック
ハンブルグではなく、ハンブという町を示しています。
それを修正する方法はありますか?