如何通过Google Place Geocomplete获取英文搜索结果?

时间:2018-06-28 17:56:42

标签: javascript googleplacesautocomplete geocomplete

我的问题是:

根据地理位置的不同,地名的书写方式也不同,即西班牙语中的“ Majorca”是“ Mallorca”。

有没有一种方法可以对搜索结果进行编码,以便如果用户在搜索框中键入“ Mallorca”(以他们自己的语言),结果将自动与英文等效的“ Majorca”相关?有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,如果有人需要,我是用这种方式完成的:

  1. 获取位置ID
  2. 然后使用PLACE ID值调用api网址

                $("myInput").geocomplete({
                map: ".map_canvas",
                details: "form ",
                detailsAttribute: "data-geo",
                location: center
            }).bind("geocode:result", function(event, result){
                var locAPI = "https://maps.googleapis.com/maps/api/geocode/json?key=[MY API KEY]&language=en&place_id="+result.place_id;
    
                $.ajax({
                    type: "GET", 
                    url: locAPI,
                    success: function(data){    
                    data.results[0].address_components.forEach(function(item, index) {
                            item.types.forEach(function(type, index) {
                                if (type === 'country') {
                                    $("#MYCOUNTRYFIELD").val(item.long_name);
                                }
                                if (type === 'locality') {
                                    $("#MYCITYFIELD").val(item.long_name);
                                }
                                if (type === 'administrative_area_level_1') {
                                    $("#MYSTATEFIELD").val(item.long_name);
                                }
                            });
                        });
                    }
                });
    
            });
    

如果有人有更好的解决方案,请为我工作:)