我正在使用Google Places API服务(https://developers.google.com/places/web-service/)根据位置名称获取地点ID。用户键入一些位置名称和相关建议,用户可以从中选择并获取位置ID。我有一个要求,我需要有三个文本框和一个按钮。用户将输入地名,城市名称和地址,然后单击按钮以获取placeId。现在,我没有看到根据多个参数获取地点ID的选项。我怎么能做到这一点?
答案 0 :(得分:3)
Text Search Requests接受查询字符串。一个可能的解决方案是允许用户将地名,城市和地址输入到不同的文本字段中,然后在发送ajax请求之前将它们连接成一个查询字符串。
您的表单如下所示:
<form id="form">
<input type="text" name="place" value="">
<input type="text" name="city" value="">
<input type="text" name="address" value="">
<input type="submit" value="Locate">
</form>
您的javascript看起来像这样:
$( "#form" ).submit(function( event ) {
// concatenate places into a single query string
var query = $('input[name="place"]').val() + $('input[name="city"]').val() + $('input[name="address"]').val();
// convert spaces to '+' symbol for query
query = encodeURIComponent(query);
// send ajax request
$.ajax({url: "https://maps.googleapis.com/maps/api/place/textsearch/xml?query=" + query + "&key=YOUR_API_KEY", success: function(result){
alert('success, now retrieve your id from result variable');
}});
//prevent the submit button from reloading the page
event.preventDefault();
});