如何在选择地点后,在地理位置自动填充输入中仅显示城市名称?

时间:2015-01-31 09:36:37

标签: jquery google-geocoding-api

当我从建议列表中选择结果时,使用jQuery地理编码和地方自动填充插件是否只能显示城市名称(不是州或国家/地区)?

1 个答案:

答案 0 :(得分:1)

是的,在从自动完成下拉列表中选择后,可能只显示部分地理编码结果。

您需要做的是为place_changed事件添加一个侦听器,然后触发“模糊”并设置您希望输入框显示的任何内容。

这应该让你开始:

function init(){
    var autocomplete = new google.maps.places.Autocomplete(
        // make sure we pass the HTML element and not the jquery object
        $('#my-input-field')[0]
        ,{
            types: ['geocode']
        }
    );

    // When the user selects an address from the dropdown,
    google.maps.event.addListener(autocomplete, 'place_changed', function() {
        var parts = [], 
            city_name = '';

        // convert the address to something more usable
        $.each(place.address_components, function (i, value) {
            parts[value.types[0]] = value;
        });
        city_name = parts.locality ? parts.locality.long_name : '';

        $('#my-input-field')
            .one('blur', function(){
                // and here's where we set the input to whatever value we'd like
                $(this).val(city_name);
            })
            .trigger('blur');
    });
}