地图自动填充过滤器

时间:2016-02-21 10:34:00

标签: javascript google-maps google-maps-api-3 autocomplete typeahead.js

我目前正在使用Google Maps Autocomplete API,但我只需要显示type addressestablishment的地方,但两者都不能以这种方式合并。我尝试过使用getPlacePredictionsReverse Geocoding但没有成功。

是否可以使用自动填充功能显示仅包含其中一种类型的地点的列表?不是,有哪些替代方案?我可以使用typeahead创建自定义自动填充吗?

2 个答案:

答案 0 :(得分:0)

以下示例使用自动填充功能填充地址表单中的字段。

function fillInAddress() {
  // Get the place details from the autocomplete object.
  var place = autocomplete.getPlace();

  for (var component in componentForm) {
    document.getElementById(component).value = '';
    document.getElementById(component).disabled = false;
  }

  // Get each component of the address from the place details
  // and fill the corresponding field on the form.
  for (var i = 0; i < place.address_components.length; i++) {
    var addressType = place.address_components[i].types[0];
    if (componentForm[addressType]) {
      var val = place.address_components[i][componentForm[addressType]];
      document.getElementById(addressType).value = val;
    }
  }
}

添加SearchBox以自动填充搜索字词

var defaultBounds = new google.maps.LatLngBounds(
  new google.maps.LatLng(-33.8902, 151.1759),
  new google.maps.LatLng(-33.8474, 151.2631));

var input = document.getElementById('searchTextField');

var searchBox = new google.maps.places.SearchBox(input, {
  bounds: defaultBounds
});

答案 1 :(得分:-1)

是的,可以使用Autocomplete。当用户输入文本时,自动完成将以下拉列表的形式返回位置预测。当用户从列表中选择一个位置时,有关该位置的信息将返回到自动完成对象,并且可以由您的应用程序检索

自动填充功能可为您的应用程序提供Google地图搜索字段的预先键入搜索行为。当用户开始输入地址时,自动填充将填写其余部分。

您可以将此作为使用typeahead.js创建自动填充功能的指南:http://code.runnable.com/UlXgeluakNULAAAv/create-an-autocomplete-input-box-with-typeahead-js-for-jquery-and-javascript