【发布时间】:2016-05-16 01:07:58
【问题描述】:
我正在为波兰开发房地产网站。
我有一个带有自动完成功能的搜索部分,当用户停止输入时会刷新搜索结果。
当我输入一些不带口音的城市名称时,一切正常,例如“Warszawa”。
问题是,当我输入带有重音的单词时,例如“Kraków”。自动完成会在地图上找到标记,直到我不输入字母“ó”。当我输入一个没有重音的单词时 - “克拉科夫”,脚本仍然无法在地图上找到标记。
这几个小时我一直在思考如何解决这个问题,但无法解决。
我的网站在这里:http://ultimate.houser.pl/nieruchomosci/
我的代码是:
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);
};
});
}
});
}
}
【问题讨论】:
-
您是否尝试过对查询进行 URL 编码?不过,我不确定这是否可行。当我尝试输入 Krakow 和 Kraków 时,官方文档中的 autocomplete example 似乎可以使用特殊字符,我认为您可以查看这些并检查您是否错过了任何内容
标签: javascript jquery google-maps autocomplete