【问题标题】:Google Places Autocomplete Remove State and Country from ResultGoogle Places Autocomplete 从结果中删除州和国家
【发布时间】:2012-10-28 14:57:12
【问题描述】:

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

我有一个类似于上面的谷歌地方自动完成演示网址的页面,如果我输入白金汉宫。它将返回

的结果
  1. 英国伦敦白金汉宫路
  2. 白金汉宫店,白金汉宫路,维多利亚,伦敦, 英国

等等。如何从结果中删除英国伦敦?

【问题讨论】:

标签: google-places-api


【解决方案1】:

这是我如何使它与 jQuery 自动完成一起工作的。希望它可以帮助某人。

   $("#Search").autocomplete({
       source: function (request, response) {
           var options = {
               input: request.term,
               types: ['(cities)'],
               region: 'US',
               componentRestrictions: { country: "us" }
           };
           function callback(predictions, status) {
               for (var i = 0, prediction; prediction = predictions[i]; i++) {
                   results.push(prediction.description.replace(/, United States$/, ""));
               }
               response(results);
           }
           var service = new google.maps.places.AutocompleteService();
           service.getPlacePredictions(options, callback);
           var results = [];
       }
   });

【讨论】:

    【解决方案2】:

    Google 似乎没有兴趣在短期内对其进行整理。我不得不求助于以下内容,可能也足以满足其他人的需求:

    document.addEventListener('DOMNodeInserted', function(event) {
        var target = $(event.target);
        if (target.hasClass('pac-item')) {
            target.html(target.html().replace(/, Australia<\/span>$/, "</span>"));
        }
    });
    

    请注意,pac-item 是用于每个建议的类。有关使用的其他类,请参阅Google Reference。具有pac-container 类的容器似乎在未显示时删除项目并在显示时添加新项目,因此如果这些 pac-items 被添加到 DOM,这意味着建议正在显示的路上,@987654326 @ 即将变得可见。

    刚刚解决了这个问题,因此对改进持开放态度。

    这也不是一个完整的解决方案。选择删除国家/地区的建议时,自动完成功能仍会将国家/地区添加到地理编码中! place_changed 太晚了,无法更改,因此请参阅上面的解决方案作为答案的一部分。等我弄清楚其余部分后,我会再次更新。

    ---更新

    就个人而言,我最终根本没有使用谷歌自动完成功能,因为一旦选择了修改后的建议,我无法解决自动完成仍然显示国家/地区的问题。一种更有用的方法是使用 twitter typeahead 并使用 google API 仅获取建议。这让我可以更好地控制建议,但显然需要更多的手动工作来弥补失去的功能

    【讨论】:

    • 干得好兄弟..!!
    【解决方案3】:

    如果不手动处理结果,这是不可能的。如果您认为这将是一个有用的功能,请提交Places API - Feature Request

    【讨论】:

      猜你喜欢
      • 2016-09-12
      • 2017-08-28
      • 1970-01-01
      • 2015-02-06
      • 2017-08-05
      • 2012-07-23
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多