Google maps 使用谷歌静态地图API划分城市区域

Google maps 使用谷歌静态地图API划分城市区域,google-maps,maps,Google Maps,Maps,我用它来生成城市的图像。我首先尝试只获取所请求城市的轮廓(见下面的示例1),但我注意到这在google API中是不可能的,所以我想用一些颜色来划分具体的城市,用一些颜色填充它的区域(下面的示例2),但我找不到只使用城市名称的方法,因为据我所知,谷歌需要整个路径来填充该区域 我正在尝试的一个请求示例是: https://maps.googleapis.com/maps/api/staticmap?center=STATE+OF+SAO+PAULO&size=400x400&map

我用它来生成城市的图像。我首先尝试只获取所请求城市的轮廓(见下面的示例1),但我注意到这在google API中是不可能的,所以我想用一些颜色来划分具体的城市,用一些颜色填充它的区域(下面的示例2),但我找不到只使用城市名称的方法,因为据我所知,谷歌需要整个路径来填充该区域

我正在尝试的一个请求示例是:

https://maps.googleapis.com/maps/api/staticmap?center=STATE+OF+SAO+PAULO&size=400x400&maptype=roadmap&style=feature:road|visibility:off&path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:encoded_data
使用此API是否可以实现这一点?还是有更好的解决方案来满足我的需求

例1:

例2:


提前谢谢

已经问了好几次了,目前没有google API提供这些多边形的数据,您需要使用另一个ressource

osm可能是一个好的开始,也可能返回这些多边形。您可以指定所需的格式(例如svg或geoJson)

在大多数情况下,将数据与静态映射的
enc
-参数一起使用将不起作用,因为url将变得太长

不清楚最终结果应该是什么(如例1所示的一种象形图或如例2所示的具有高亮度区域的静态地图),但在这两种情况下,您都可以使用svg格式绘制路径

例如:

jQuery(
函数($)
{
$('form')。提交(函数(e){
e、 预防默认值();
$('form').addClass('hidden');
$.ajax(
'http://nominatim.openstreetmap.org/search',
{
jsonp:'json_回调',
数据:$(this).serialize(),
数据类型:'jsonp',
成功:功能(数据){
if(数据长度){
$('form').removeClass('hidden');
$('#svg')[0].setAttribute('viewBox',[data[0].boundingbox[2],
-数据[0]。边界框[1],
(数据[0]。边界框[3]-数据[0]。边界框[2]),
(数据[0]。边界框[1]-数据[0]。边界框[0]),
].加入(“”);
$('#svg path').attr('d',data[0].svg);
}
}
});
}).触发(“提交”);
}
);
.svg{显示:内联块;边框:3px纯红色;背景:#f1f1f1;边框半径:8px;}
.svg svg{边距:10px;宽度:100px;高度:100px;}
.svg svg路径{fill:red;}
.版权所有{显示:块;清除:两者;}
.hidden svg、.hidden.copyright{visibility:hidden;}
字段集{文本对齐:居中;}
字段集输入{显示:块;}
字段集输入[type=“submit”]{display:inline;}

数据©贡献者,ODbL 1.0。