如何不让邮政编码进入谷歌placeapi自动建议

时间:2016-07-09 15:05:06

标签: google-places-api

我面临着google places api的问题。

当我输入“新德里”时,它在我的网站页面上显示“新德里,德里110001,印度”:https://www.fabstage.com/professionals/。但它显示在任何其他网站上 “新德里,德里,印度”。这只发生在这个位置(新德里)。 点击此处:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

我想要相同的输入,因为它没有获得位置搜索查询的正确结果。请帮忙。

<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCKvFWo1zxb71vCtFRIq2z4oz2h5EEZYPQ&v=3.exp&libraries=places" type="text/javascript"></script>
<input type="text" class="autocomplete form-control" id="search_city" placeholder="Input City Location">
<script type="text/javascript">
var mydiv = document.getElementsByClassName('autocomplete')[0];
google.maps.event.addDomListener(mydiv, 'click', function(){
var options = {
    types: ['(regions)']
};
var input = document.getElementsByClassName('autocomplete')[0];
if(input){
    var autocomplete = new google.maps.places.Autocomplete(input , options);
    google.maps.event.addListener(autocomplete, 'place_changed', function() {
        var dat = autocomplete.getPlace();
        $("#search_city").val(dat.formatted_address);
        /***On keyup event**/
        var input_data = dat.formatted_address;
        var path = $('#path').val();
        var path = $('#main_path').val();
        if(input_data) {
            var checkPath = path.substr(path.length - 1);
            if(checkPath == '/') {
                var new_href = path+'city/'+input_data.toLowerCase()
                        .replace(/ /g,'-')
                        .replace(/[^\w-]+/g,'');
            }else {
                var new_href = path+'/city/'+input_data.toLowerCase()
                        .replace(/ /g,'-')
                        .replace(/[^\w-]+/g,'');
            }

        } else {
            var new_href = path;
        }
        $('#find_city').attr('href', new_href);

    });
}
});

   </script>

1 个答案:

答案 0 :(得分:0)

如果您仔细查看文档,Google maps api会有不同的结果选项返回。您引用的示例仅使用场所进行自动完成。如果您只想要地点而不是地址,请确保您已将Google地图API设置为仅返回地点。

编辑:

在您的网站上检查http请求的结果和plunker之后,返回相同的json对象。它们都包含格式化地址的相同值。

{{1}}

但是,您提供的代码会修改格式化地址以删除邮政编码。所以我会检查以确保您的网站做同样的事情。