选择地点后,如何在地理自动完成输入中仅显示城市名称?
How can I show only the city name in a geo autocomplete input after a place is selected?
使用 jQuery 地理编码和地点自动完成插件,当我 select 来自建议列表的结果时,有没有办法只显示城市名称(而不是州或国家/地区)?
是的,从自动完成下拉列表中选择后,可以仅显示部分地理编码结果。
您需要做的是为place_changed
事件添加一个监听器,然后触发一个"blur"并设置您希望输入框显示的任何内容。
这应该让你开始:
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');
});
}
使用 jQuery 地理编码和地点自动完成插件,当我 select 来自建议列表的结果时,有没有办法只显示城市名称(而不是州或国家/地区)?
是的,从自动完成下拉列表中选择后,可以仅显示部分地理编码结果。
您需要做的是为place_changed
事件添加一个监听器,然后触发一个"blur"并设置您希望输入框显示的任何内容。
这应该让你开始:
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');
});
}