首页 > 解决方案 > 如何使用 Google Place Geocomplete 获得英文搜索结果?

问题描述

我的问题是:

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

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

谢谢!

标签: javascriptgoogleplacesautocompletegeocomplete

解决方案


我找到了一个解决方案,如果有人需要,我是这样做的:

  1. 获取地点 ID
  2. 然后使用 PLACE ID 值调用 api url

                $("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);
                                }
                            });
                        });
                    }
                });
    
            });
    

这对我有用,如果有人有更好的解决方案,欢迎:)


推荐阅读