2011-11-18 112 views
7
<html> 
    <head> 
     <title></title> 

     <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=true"></script> 
     <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      $(function() { 
       var input = document.getElementById('location'); 
       var options = {      
        types: ["locality"] 
       }; 

       autocomplete = new google.maps.places.Autocomplete(input, options); 
      }); 
     </script>   
    </head> 
    <body> 
     <div>Location: <input type="text" id="location" style="width:400px;" /></div>    
    </body> 
</html> 

有我的代碼來生成我的自動完成位置文本輸入。 Google的受支持類型列表(http://code.google.com/apis/maps/documentation/places/supported_types.html)顯示「地區」是我不希望所有結果(企業等)返回時使用的類型。我沒有得到任何結果。Google Places API類型功能..

基本上,我想達到的是尋找一個城市(IE:多倫多),只看到類似結果:「多倫多,ON,加拿大」。也許我對我如何實現這個API感到困惑。

非常感謝您的回覆!

+0

我不認爲當地是一類/// –

回答

5

我認爲你正在尋找根據文檔的選項是 「地址解析」(http://code.google.com/apis/maps/documentation/javascript/reference.html#AutocompleteOptions):

var options = {      
    types: ["geocode"] 
}; 
+0

剛走到你發佈的鏈接,雖然局部性的類型上市,如果你看看這個鏈接( http://code.google.com/apis/maps/documentation/places/autocomplete.html#place_types),你會發現它實際上只列出了兩個(看起來很奇怪,他們會鏈接到一個類型列表,然後就在它下面說只有2種類型的工作,但看起來像它是什麼) - 所以無論哪種方式,地理編碼看起來像你想要的選項。 – streetlogics

+0

Geocode幾乎是我正在尋找的結果。不幸的是,它仍然列出了街道名稱。例如:如果我搜索「倫敦,英國」,「倫敦街,SomeCity,SomeCountry」將顯示結果。 我在哪裏可以找到這些類型的解釋?我沒有看到Google文檔中的任何內容。 –

+0

地標將返回與地理編碼以及機場例如。 –

0

試試,檢查出jsfiddle

var options = {      
     types: ['geocode'] 
}; 

類型,可以是建立地理編碼,代表 企業或地址,分別。如果未指定類型,則返回 類型。

3

,你也可以使用國家限制

例如:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script> 

<script type="text/javascript"> 
    function initialize() 
    { 
     var input = document.getElementById('searchTextField'); 
     var options = { 
      types: ['(cities)'], 
      componentRestrictions: {country: "ca"} 
     }; 

     autocomplete = new google.maps.places.Autocomplete(input, options); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

<input id="searchTextField" type="text" size="50" placeholder="Anything you want!"> 

現在你可以很容易地添加下拉與選擇的城市,重新過濾的城市,當onchange事件下拉的發生:)

0

如果用戶在輸入字段中輸入Tor,並且您想要的輸出是Toronto, ON, Canada那麼您應該使用types=(regions),將b球拍。

我不知道問題提出時是否存在該選項,但現在可用。

樣品請求:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Tor&key=<YOUR_API_KEY_HERE>&types=(regions)