使用Google静态地图API URL呈现多边形

6
我创建了一个脚本,通过将属性附加到静态地图URL来存储动态地图输入(以便在用户提交后可以引用它)。
由于某些原因我还无法确定,使用基本静态地图URL时多边形根本没有渲染出来,但是使用第三方网站的静态地图函数却可以。根据静态地图API示例,不应该有问题,但我似乎无法重新创建多边形。
从第三方网站得到的“工作版本”(具有相同的URL属性,尽管它忽略了卫星和缩放分辨率):
“期望版本”缺少多边形:

问题是:我是否缺少某些参数?我确实有一个API密钥,但我已从URL中删除了它,因此这不应该是问题。

为什么这两个链接完全不同? - Erik Philips
请注意,属性是相同的...第三方网站在../staticmap?部分之前有一个唯一的URL。我只是确保它们具有相同的属性-再次检查链接。 - John Mitman
1
只是一个离题的提示,如果您想在文本中手动创建链接,我发现这比编辑器的方式更容易,链接看起来像链接文本,中间没有空格。 - Erik Philips
您的工作版本现在出现了“错误请求”。 - Erik Philips
1
抱歉,现在正在工作。似乎第三方网站上的URL被编码了。我要匹配的主要属性是以下内容:center=33.402285,-111.94271500000002&zoom=20&size=600x600&maptype=satellite&sensor=false&path=color:red|weight:1|fill:white|opacity:0.75|33.4022475,-111.9426775|33.4022475,-111.9427525|33.4023225,-111.9427525|33.4023225,-111.9426775|33.4022475,-111.9426775 - John Mitman
1个回答

22
您原始的期望版本使用了谷歌不支持的参数。只需删除opacity:0|即可正常工作。

http://maps.googleapis.com/maps/api/staticmap?center=33.402285,-111.94271500000002&zoom=20&size=600x600&maptype=satellite&sensor=false&path=color%3ared|weight:1|fill%3awhite|33.4022475,-111.9426775|33.4022475,-111.9427525|33.4023225,-111.9427525|33.4023225,-111.9426775|33.4022475,-111.9426775

在谷歌地图上设置透明度是使用32位十六进制值的颜色,所以

  • 薄蓝线,0%透明度:path=color:0x0000ff00
  • 完全不透明的红线:path=color:0xff0000ff
  • 如果传递24位颜色,则默认为50%:0x0000ff(50%透明度,蓝色)

因此,我认为这就是您要寻找的内容(或非常接近)。

http://maps.googleapis.com/maps/api/staticmap?center=33.402285,-111.942715&zoom=20&size=600x600&maptype=satellite&sensor=false&path=color:red|weight:1|fillcolor:white|33.4022475,-111.9426775|33.4022475,-111.9427525|33.4023225,-111.9427525|33.4023225,-111.9426775|33.4022475,-111.9426775


哈利路亚!我的救星!感谢Erik--他解决了问题。如果有人想知道我如何构建静态地图URL,请随时与我联系!在我的办公室,我们使用相当动态的多边形工具。 - John Mitman
2
如果您的工具是自制的,我强烈建议允许它导出编码路径 - Erik Philips
谢谢Erik--我会查看那份文档。如果我没记错的话,它似乎主要的好处是保护坐标数据并缩短URL。这个评估准确吗,还有其他好处吗? - John Mitman
1
我不知道如何确保坐标的安全,但它可以显著地缩短路径点。 - Erik Philips

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接