使用Googles地理编码器服务在地图上显示城市时;填写不存在的城市会导致错误。
有没有办法根据填写的城市显示一些建议?
var geocoder = new GClientGeocoder();
function showAddress(address, zoom) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
//no point found....
//Suggest some points :)
} else {
map.setCenter(point, zoom);
}
}
);
}
showAddress('Someplace, Nederland', 14);
答案 0 :(得分:1)
建议在结果的“地标”属性中返回。我正在使用v3,这有效,请尝试使用address =“Washington Blvd”
来调用它if (geocoder) {
geocoder.getLocations(
address,
function (results) {
if (!results) {
alert(address + " no suggestions");
} else {
$('#output').html('');
if (results.Placemark) {
for (var i = 0; i < results.Placemark.length; i++) {
$('#output').append(i + ': ' + results.Placemark[i].address + '<br/>');
}
}
}
});
}
答案 1 :(得分:0)
如果找到匹配,则会将匹配作为地址返回,这些是建议。它不应该返回错误,如果找不到匹配则应该返回一个空列表。你可以发布代码吗?
答案 2 :(得分:0)
如果您只是对城市进行地理编码,则可能需要考虑开始构建自己的城市到坐标缓存。
这是您可能需要考虑的一种方法:
通过这种方法,您还可以通过这种方式对缓存进行播种,以解析您已经知道Google无法进行地理编码的城市名称。