-1

現在、場所フィールドで autosuggest の提案をクリックすると、それが入力ボックスに読み込まれます。それを調整したいので、自動提案ボックスの結果をクリックすると、その値が入力ボックスに読み込まれるだけでなく、ジオコードもトリガーされます。私はこれをどのように行うかについて頭を悩ませることができないので、助けていただければ幸いです。

これはコードです: http://jsfiddle.net/njDvn/130/

<!-- Geocode -->
$(document).ready(function () {
    var GeoCoded = { done: false };
    autosuggest();
    $('#myform').on('submit', function (e) {
    if (GeoCoded.done) return true;

        e.preventDefault();
        var geocoder = new google.maps.Geocoder();
        var address = document.getElementById('location').value;

        $('#myform input[type="submit"]').attr('disabled', true);

        geocoder.geocode({
            'address': address
        },

        function (results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                var latLng = results[0].geometry.location;
                $('#lat').val(results[0].geometry.location.lat());
                $('#lng').val(results[0].geometry.location.lng());
                GeoCoded.done = true;
                $('#myform').submit();
            } else {
                console.log("Geocode failed: " + status);
                //enable the submit button
                $('#myform input[type="submit"]').attr('disabled', false);
            }

        });

    });

});

そして自動提案:

<!-- AutoSuggest -->
function autosuggest() {
    var input = document.getElementById('location');
    var options = {
        types: [],
    };
    var autocomplete = new google.maps.places.Autocomplete(input, options);
}
4

1 に答える 1

2

代わりに、Places API ライブラリのみを使用place_changedして、このサンプルのようにイベントをリッスンするだけです。

https://developers.google.com/maps/documentation/javascript/places#getting_place_information

以下を使用してジオコードを取得できます。place.geometry.location

于 2012-11-04T14:10:04.837 に答える