我试图从我的表中提取数据并将其绘制在谷歌地图上。
我使用以下工作......
function addPostCode(zip) {
geocoder.geocode( { 'address': zip}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK)
{
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
name: zip
});
markers.push(marker);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
只有当我的邮政编码是LA14时才将其描绘成德国的一条名为la14的道路,而不是英国的手推车,有没有人知道如何解决这个问题?
答案 0 :(得分:1)
你传递的是含糊不清的信息。如果你通过'伦敦',试图获得'伦敦,加拿大'而不是更受欢迎的'伦敦,英国',也会发生同样的事情。
选项1 - 如果您的所有邮政编码都在英国:
您可以将{ 'address': zip}
更改为{ 'address': zip + ', United Kingdom'}
。这只是指明邮政编码在英国。逗号是可选的。
选项2 - 如果只有一些在英国:
您可以为该函数添加一个可选的country
参数,然后将“英国”传递给它以获取不明确的案例:
function addPostCode(zip, country) {
var address;
if (typeof(country) === 'undefined') // no country passed
address = zip;
else
address = zip + ', ' + country;
geocoder.geocode({'address': address}, function(results, status) {
...
即使您的价值仅限于英国,我也会使用选项2,以防您以后将其国际化。