有关自动完成位置搜索的任何不错的建议,与Google或Bings位置数据等内容集成?
我想要在注册时捕获我的用户的位置,目前我有一个免费的文本输入框。我想要某种自动完成,引导用户输入更多消毒信息,理想情况下我也希望对用户进行地理编码。
我目前正在使用jQuery autocomplete作为自动搜索,但这需要我提供我没有或想要维护的位置数据。
答案 0 :(得分:7)
如果您不想维护自己的位置数据库(对您有用!),那么您可以查看Freebase及其Freebase Suggest插件以获取jQuery。他们将为您完成所有自动完成甚至建议UI,您可以指定您只想自动完成位置(或仅限美国县或其他)。
存在可以提供位置名称数据库但不会为您执行自动完成UI的地名录。例如,GeoNames有一组很好的web services,您可以将其与jQuery Autocomplete匹配。
答案 1 :(得分:2)
我们对https://bombsheets.com/上的“帐单邮寄地址”字段执行类似操作 - 您需要执行AJAX调用才能获得自动填充选项:
$(".address-autocomplete").autocomplete('/get_address', {
delay: 250,
scrollHeight: 400,
matchSubset: false,
cacheLength: 10,
minChars: 3
});
然后使用地理位置API服务器端获取实际地址(我们使用Rails的优秀GeoKit)。
请参阅this question了解其他颜色。
答案 2 :(得分:2)
https://github.com/lorenzsell/Geocoded-Autocomplete 这个jQuery插件使用Google Geocoding Javascript API和jQuery UI Autocomplete。
答案 3 :(得分:0)
<script>
function init() {
var input = document.getElementById('locationTextField');
var autocomplete = new google.maps.places.Autocomplete(input);
///Start for getting lat and lang
google.maps.event.addListener(autocomplete, 'place_changed',
function() {
var place = autocomplete.getPlace();
var lat = place.geometry.location.lat();
var lng = place.geometry.location.lng();
document.getElementById("lat").innerHTML = "Lat: "+lat+"<br />Lng: "+lng;
}
);
////End
}
google.maps.event.addDomListener(window, 'load', init);
</script>