我处于这种情况,我需要将Google地图自动填充限制为特定的城市结果。
$(document).ready(function() {
var autocomplete =
new google.maps.places.Autocomplete(
document.getElementById('addr'));
autocomplete.setTypes(['address']);
autocomplete.setComponentRestrictions({'country':'us'});
google.maps.event.addListener(autocomplete, 'place_changed',
function() {
var place = autocomplete.getPlace();
$('#name').text(place.formatted_address);
$('#lat').text(place.geometry.location.lat());
$('#long').text(place.geometry.location.lng());
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [new google.maps.LatLng(
place.geometry.location.lat(),
place.geometry.location.lng())],
destinations: ['Raleigh, NC'],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL
},
function(response, status) {
if (response.rows[0].elements[0].status == 'ZERO_RESULTS')
$('#distance').text('No dice!');
else
$('#distance').text(response.rows[0].elements[0].distance.text);
});
});
});
这是我一直在努力的小提琴; http://jsfiddle.net/272tx3qy/8/ 我试图将输入框结果限制为仅限北卡罗来纳州罗利(仅限北卡罗来纳州罗利的街道和地址)
使用Google地图是否可以实现?
提前感谢您抽出宝贵时间。
答案 0 :(得分:0)
您可以设置自动填充选项以使用地理编码作为类型,这将限制返回到地址的结果,请尝试以下操作:
function initialize() {
var input = document.getElementById( 'searchTextField' );
var options = {
bounds: yourBounds,
types: ['geocode']
};
autocomplete = new google.maps.places.Autocomplete( input, options );
}