Javascript 自动完成中的变音符号

Javascript 自动完成中的变音符号,javascript,jquery,google-maps,autocomplete,Javascript,Jquery,Google Maps,Autocomplete,我正在为波兰的房地产网站工作 我有一个带有自动完成功能的搜索部分,当用户停止键入时刷新搜索结果 当我输入一些不带口音的城市名称时,一切正常,比如“Warszawa” 问题是,当我输入带有重音的单词时,比如“Kraków”。自动完成在地图上找到标记,直到我不键入字母“ó”。当我键入一个没有重音的单词时,比如“克拉科夫”,脚本仍然无法在地图上找到标记 我一直在思考如何解决这两个小时,但无法让它工作 我的网站可在此查看: 我的代码是: function getPredictions(request,

我正在为波兰的房地产网站工作

我有一个带有自动完成功能的搜索部分,当用户停止键入时刷新搜索结果

当我输入一些不带口音的城市名称时,一切正常,比如“Warszawa”

问题是,当我输入带有重音的单词时,比如“Kraków”。自动完成在地图上找到标记,直到我不键入字母“ó”。当我键入一个没有重音的单词时,比如“克拉科夫”,脚本仍然无法在地图上找到标记

我一直在思考如何解决这两个小时,但无法让它工作

我的网站可在此查看:

我的代码是:

function getPredictions(request, response){

    tmpList = [];

    if (typeof $.goMap.map === 'object') {

        $.goMap.predictions.getQueryPredictions({ input: 'Polska, ' + request.term }, function(predictions, status){

            for ( i = 0; i < predictions.length; i++) {

                place_req = {
                    placeId: predictions[i].place_id
                };

                $.goMap.places.getDetails( place_req, function(place, status){

                    miasto='', woj='', ulica='';

                    for ( i = 0; i < place.address_components.length; i++) {
                      addressType = place.address_components[i].types[0];

                      if (addressType == 'administrative_area_level_1') {
                        woj = ', ' + place.address_components[i].long_name;
                      };
                      if (addressType == 'locality') {
                        miasto = '' + place.address_components[i].long_name;
                      };
                      if (addressType == 'route') {
                        ulica = ', ' + place.address_components[i].long_name;
                      };
                    }
                    // val = miasto + woj + ulica;
                    if (woj != '') {
                        val = miasto + woj;
                    };

                    if ( tmpList.indexOf(val) < 0 && val.length > 0) {
                        val = val.replace(/województwo/i,'').trim();
                        // val.replace(',','');
                        tmpList.push(val);
                        response(tmpList);
                    };

                });
            }

        });
    }

}
函数getPredictions(请求、响应){ tmpList=[]; if(typeof$.goMap.map=='object'){ $.goMap.predictions.getQueryPredictions({input:'Polska',+request.term},函数(预测,状态){ 对于(i=0;i<0.length;i++){ 地点要求={ placeId:predictions[i]。place\u id }; $.goMap.places.getDetails(位置请求,函数(位置,状态){ miasto='',woj='',ulica=''; 对于(i=0;i0){ val=val.replace(/województwo/i',).trim(); //val.replace('、'、'); tmpList.push(val); 响应(tmpList); }; }); } }); } }
这不是自动完成的问题(它返回结果,否则在下拉列表中看不到任何内容)

问题是:当您根据
input>的值测试标记列表(
div.where
)时#搜索where
会从输入值中删除变音符号

第227行

    where = removeDiacritics( $("#search-where").val() );
但是您不会从
div.where的innerHtml中删除变音符号


你必须去掉两边的变音符号,或者保持原样

这不是自动完成的问题(它返回结果,否则在下拉列表中看不到任何内容)

问题是:当您根据
input>的值测试标记列表(
div.where
)时#搜索where
会从输入值中删除变音符号

第227行

    where = removeDiacritics( $("#search-where").val() );
但是您不会从
div.where的innerHtml中删除变音符号


你必须去掉两边的变音符号,或者保持原样

您是否尝试对查询进行URL编码?不过,我不确定这是否有效。当我尝试输入Krakow和Krakow时,官方文档中的字符似乎与特殊字符一起工作。我认为您可以查看这些字符,并检查您是否遗漏了任何内容。您是否尝试对查询进行URL编码?不过,我不确定这是否有效。当我试图输入克拉科夫和克拉科夫时,官方文件中的数字似乎与特殊字符有关。我想你可以查看一下这些数字,看看是否遗漏了什么