Google Places API类型功能..

问题描述:

<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

我不认为当地是一类/// –

我认为你正在寻找根据文档的选项是 “地址解析”(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

地标将返回与地理编码以及机场例如。 –

试试,检查出jsfiddle

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

类型,可以是建立地理编码,代表 企业或地址,分别。如果未指定类型,则返回 类型。

,你也可以使用国家限制

例如:

<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事件下拉的发生:)

如果用户在输入字段中输入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)