我想在地图上标记邮政编码的轮廓(边界)。使用谷歌地图API,我可以发送邮政编码或地址并返回日志/拉特,然后在地图上放置一个图标。现在我想在邮政编码覆盖的整个区域周围制作一个方框或多边形。是否有API或方法来执行此操作?我可以使用谷歌地图或其他服务(如果有的话)。
获取邮政编码的纬度/经过...
if (geocoder) {
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK){
var pcode = results[0].address_components[0].long_name;
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
}
}
答案 0 :(得分:1)
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var pcode = results[0].address_components[0].long_name;
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
//do whatever you want above then call the displayBounds function
displayBounds(results[0].geometry.bounds);
}
});
function displayBounds(bounds) {
var rectangleOptions = {
strokeColor: '#0000ff',
strokeOpacity: 0.5,
strokeWeight: 3,
bounds: bounds
}
var rectangle = new google.maps.Rectangle(rectangleOptions);
rectangle.setMap(map); //map being your google.maps.Map object
}
这样您就可以在地图上显示边界。确保你在结果上得到geometry.bounds,因为情况并非总是如此。
答案 1 :(得分:0)
DisplayZipCodeArea(results [0] .geometry.bounds,resultsMap);
函数DisplayZipCodeArea(bounds,resultsMap){
var rectangleOptions = {
strokeColor: '#0000ff',
strokeOpacity: 0.5,
strokeWeight: 3,
bounds: bounds
}
var rectangle = new google.maps.Rectangle(rectangleOptions);
rectangle.setMap(resultsMap); //map being your google.maps.Map object
}