【发布时间】:2016-05-25 23:35:41
【问题描述】:
我正在处理一个与谷歌示例https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform 中的页面足够接近的页面,并且工作正常。
不过我还需要添加一项功能,即默认将自动完成的值设置为当前用户城市。
我正在使用以下代码获取使用 HTML5 中的地理定位 API 登录用户的城市和国家/地区。然而,挑战是让自动完成接受这个值作为它的默认值。当我尝试将值直接放入文本框中时,自动完成将其视为错误值。
navigator.geolocation.getCurrentPosition(function(pos) {
var currentLocation = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
var geocoder = new google.maps.Geocoder();
var city = "";
var country = "";
geocoder.geocode({'latLng': currentLocation}, function(results, status, from) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
for (var i = 0; i < results[0].address_components.length; i++) {
for (var b = 0; b < results[0].address_components[i].types.length; b++) {
if (results[0].address_components[i].types[b] == "administrative_area_level_1") {
city = results[0].address_components[i];
break;
}
if (results[0].address_components[i].types[b] == "country") {
country = results[0].address_components[i];
break;
}
}
}
var fromDefault = city.long_name + " - " + country.long_name;
$('#address-from').val(fromDefault);
}
}
});
},
function(error) {
alert('Unable to get location: ' + error.message);
}, options);
知道如何手动填写自动填充位置文本框的默认值吗?
【问题讨论】:
-
你能为此创建一个 sn-p 或 bin 吗?
-
你解决了吗???请帮助我也遇到同样的问题....
-
很抱歉回复晚了,但不,我没有解决它,我不得不走很长的路来构建一段时间的自定义自动完成功能。如果您有任何问题,请告诉我
标签: javascript jquery google-maps google-maps-api-3 autocomplete