谷歌静态地图API:生成带路径的静态地图
我正在尝试生成一个静态的谷歌地图,上面有一些标记点,还有一些线连接这些点(我之后会让这些线对应驾驶路线,但那是后话)。现在我有这样的代码来生成网址:
def getStaticMapAddress(self, route):
url = "http://maps.google.com/maps/api/staticmap?center="+str(route[0].location.lat)+","+str(route[0].location.lng)+"&zoom=6&size=400x400&markers="
i=0
while i<len(route):
url += str(route[i].location.lat)+","+str(route[i].location.lng)
i=i+1
if (i < len(route)):
url += "|"
url += "&path=color:0xff0000ff&weight:5"
i=0
while i<len(route):
url += "|"+str(route[i].location.lat)+","+str(route[i].location.lng)
i+=1
url += "&sensor=false"
return url
在这个函数里,'route' 是一个包含用户和他们位置的列表。根据我的测试数据,生成了这个网址:
http://maps.google.com/maps/api/staticmap?center=50.8202008,-0.1324898&zoom=6&size=400x400&markers=50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&path=color:0xff0000ff&weight:5|50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&sensor=false
如果你查看那个静态地图,你会看到标记点,但看不到路径。我一直在查看相关的文档(http://code.google.com/apis/maps/documentation/staticmaps/#Paths),但我找不到哪里出错了。看了例子后,我发现我的网址格式和例子完全一样。有没有人知道我哪里做错了?
谢谢
本
1 个回答
9
路径的颜色参数有点问题。下面这个链接对我来说是有效的:
我看到的是默认的蓝色线条。
更新:这里的“有点问题”是指路径颜色和路径宽度之间的分隔符应该是一个竖线符号,而不是&符号。这个:
这样就能正常工作,并且显示出红色的线条。