2016-09-23 68 views
0

我正在使用Google Places API服務(https://developers.google.com/places/web-service/)根據地點名稱獲取地點ID。用戶輸入一些位置名稱並出現相關的建議,用戶可以從中選擇並獲取地點Id。我有一個要求,我需要有三個文本框和一個按鈕。用戶將輸入地名,城市名稱和地址,然後點擊按鈕以獲取placeId。目前,我沒有看到根據多個參數獲取地點ID的選項。我怎麼能做到這一點?根據Google Places API服務中的地點名稱,城市名稱和地址獲取地點ID

回答

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(); 
}); 
相關問題