gpt4 book ai didi

javascript - 如何通过特定国家/地区的邮政编码在 map 上居中?

转载 作者:行者123 更新时间:2023-11-30 05:31:42 25 4
gpt4 key购买 nike

我正在使用 Google Maps API v3 来处理 map 。此外,我还使用了一个输入/文本和一个输入/按钮来让用户查找邮政编码。

然后 map 应该以该邮政编码为中心。确实如此!但是在某些邮政编码上,我会到达非常异国情调的地方。

服务器、客户端和其他任何东西都在德国,所以我想将所有查询锁定到德国。例如,如果我想以“92224”为中心,我看不到巴伐利亚,就会迷失在立陶宛。

我正在使用以下代码 from this answer通过命令居中:

function codeAddress(zipCode) {
geocoder.geocode( { 'address': zipCode}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//Got result, center the map and put it out there
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}

现在我如何实现此查询仅以德国邮政编码为中心?(如果有帮助,德国邮政编码的长度始终为 5 个数字。)

最佳答案

您想设置 componentRestrictions 并按国家过滤。

参见 documentation .

示例:

function codeAddress(zipCode) {

geocoder.geocode({
'address': address, "componentRestrictions":{"country":"DE"}
}, 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
});

} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}

演示:

JSFiddle demo

注意:

附带说明一下,您不能按多个国家/地区进行过滤。这是 long awaited feature直到现在,Google 仍未实现。

编辑: 2017-04-19

谷歌现在已经实现了一种过滤多达 5 个国家的方法:参见 https://issuetracker.google.com/issues/35821685我不会对这有多大用处发表任何评论...

关于javascript - 如何通过特定国家/地区的邮政编码在 map 上居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26528744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com