【问题标题】:Google places autocomplete is not returning correct placesGoogle 地点自动填充功能未返回正确的地点
【发布时间】:2016-04-19 07:47:57
【问题描述】:

我按照以下教程进行操作:

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

而且,我编写的结果代码具有以下用于 google 位置自动完成的实例化(我正在使用带有 browserify 的 Node.js,因此它看起来有点不同):

enableAutoCompleteForElement: function(aDomElement) {
    var self = this;

    // The geocode type restricts the search to geographical location types.
    GoogleMapsLoader.KEY = ArbitratorConfig.google_api_key;
    GoogleMapsLoader.LIBRARIES = ['places'];
    GoogleMapsLoader.SENSOR = false;

    console.log("Google client id: " + ArbitratorConfig.google_client_id);

    GoogleMapsLoader.load(function(google) {
      self.autocomplete = new google.maps.places.Autocomplete(aDomElement,
                                                              { types: ['geocode'] });
      google.maps.event.addListener(self.autocomplete, 'place_changed', function() {
        // When the user selects an address from the dropdown, this will fire.
        var place = self.autocomplete.getPlace();
      });
    });
  }

对于大多数应用程序来说,这非常有效。但是,我注意到它不如与 Google 日历捆绑的地方自动完成功能准确。例如,如果我在 Google 日历中创建一个事件并在位置输入中搜索“布卢明顿冰上花园”,它将(可能取决于您开始的位置)返回“布卢明顿冰上花园,西 98 街”的结果,明尼阿波利斯,明尼苏达州,美国'。但是,如果我对我的客户执行相同的搜索,它不会显示此结果。我能得到的最接近的是“美国明尼苏达州布卢明顿”。

我觉得我缺少图书馆的一部分,或者我错误地告诉它做一些它不应该做的事情。我希望能够检索在 Google 地方信息中注册的任何类型的地点,而不仅仅是城市、州或国家(这似乎是它目前正在自动完成的内容)。

【问题讨论】:

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


    【解决方案1】:

    从您的Autocomplete 中删除types: ['geocode'] 选项。这就是导致 Google Places Autocomplete 排除诸如“布卢明顿冰上花园”之类的地方的原因,这是一个场所,而不是地理编码。

    【讨论】:

      猜你喜欢
      • 2018-06-30
      • 2015-01-31
      • 1970-01-01
      • 2012-01-27
      • 2013-02-10
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多