谷歌地图API V3 - 无论如何检索自动完成结果而不是下拉渲染它?

时间:2012-02-14 12:07:00

标签: javascript google-maps google-maps-api-3 autocomplete

我需要以自定义方式呈现google.maps.places.Autocomplete的结果,而不是默认的下拉菜单。

我有什么方法可以使用Google Maps API V3检索相同的自动填充信息,但是在每个请求的数组中,而不是API为我做渲染吗?

PS1:

我想知道我可以使用google.maps.places.PlaceSearchRequest。但是,与自动填充不同,它限制了我的位置。它无法用于全球搜索。

PS2:

我(当前)使用自动填充的默认方式限制了我。我必须传递一个输入元素,并且API会呈现我不想要的下拉列表。

var autocomplete, input_el, place_changed_trigger_func;
input_el = <an input element>;
place_changed_trigger_func = function() {
  var place = autocomplete.getPlace();
  // do whatever you want with place
};
autocomplete = new google.maps.places.Autocomplete(input_el, {types: ["geocode"]});
google.maps.event.addListener(autocomplete, 'place_changed', place_changed_trigger_func);

3 个答案:

答案 0 :(得分:4)

我相信这是@jegnag意图包含的链接。

https://developers.google.com/maps/documentation/javascript/places-autocomplete#place_autocomplete_service

您可以访问结果数组(除了建议的搜索字词之外的地方),您甚至可以将自己的自定义结果添加到此数组中,并显示您选择的所有内容。

答案 1 :(得分:1)

您是否研究了Places API网络服务的Autocomplete function?这似乎是你正在寻找的。

答案 2 :(得分:1)

尝试AutocompleteService class:

“您可以使用AutocompleteService类来检索查询或放置从自动完成服务返回的预测数据。调用getPlacePredictions()或getQueryPredictions()方法将返回一个包含以下形式的五个预测对象的数组: “