如何使用Google Static Maps API获取地图图像的静态网址?

时间:2011-01-06 08:50:53

标签: javascript image api google-maps static

我正在制作一个Web应用程序(仍在" Beta"中),它使用Flickr API获取特定Flickr用户照片的信息,并生成IPB代码以发布他的任何一个/她的照片。

虽然Flickr现在为您提供IPB代码以显示图像并直接链接回其网站上的照片网站,但我的应用程序还可以选择将标题,说明,选择EXIF数据,位置信息等嵌入到IPB论坛的帖子。

我最近添加了使用Google Static Maps API将照片地理位置数据的Google地图图片整合到帖子中的选项。

问题是我拥有的图片网址采用以下格式(包括IPB [IMG]代码):

[IMG]http://maps.google.com/maps/api/staticmap?zoom=16&size=600x600&maptype=hybrid&markers=19.387687,-99.251732&sensor=false[/IMG]

显示此示例图像(实际上图像大小是用户可选择的):

alt text

然而,一些IPB论坛似乎不支持动态图片网址,这会给我一个破碎的图片,我想替换

[IMG]http://maps.google.com/maps/api/staticmap?zoom=16&size=600x600&maptype=hybrid&markers=19.387687,-99.251732&sensor=false[/IMG]

类似

[IMG]http://maps.google.com/maps/api/staticmap/map0000001.png[/IMG]

应该得到所有IPB论坛的支持。在此先感谢您的帮助。

如果您有兴趣,最近发布的""我的Web-App版本可以在这里找到:http://flickr.argote.mx/(我在这里提到的更改仍在本地开发服务器上)。

3 个答案:

答案 0 :(得分:4)

据我所见,有两种解决方案:

  1. 您创建了一个代理服务器,用于从Google下载图像并将其提供给客户端的精美网址。缺点是您必须通过服务器处理高流量(我不太了解您必须决定性能的项目)

  2. 您创建了一个特殊的BBCODE来处理您的网址,您可以在任何IPB论坛上使用它

  3. +1:您可以使用精美的网址创建一个服务器端脚本,以重定向到Google网址,但问题是您永远不知道不同的浏览器将如何处理它。我想他们通常不会在网页内跟踪图片的网址。

    +2:要求Google支持不错的网址;)

    希望有所帮助。

答案 1 :(得分:1)

由于阿斯顿的建议都是不可能的,也许您可​​以设置一个简单的脚本,将请求重定向到谷歌地图图像(而不是代理)?

因此,您可以使http://my-simple-script.tld/lat,lng之类的内容将该脚本重定向到正确的Google地图静态图片网址。

答案 2 :(得分:1)

只要该服务支持对图像资源进行简单的301重定向,您就应该能够使用URL缩短服务。你必须尝试做哪些。

例如,bit.ly有一个REST API.它允许你在PHP中进行这样的调用:

http://api.bitly.com/v3/shorten?login=abc&apiKey=123&longUrl={myurl}&format=json 

返回可在BBCode中使用的bit.ly网址。

修改:根据this JSFiddle,此方法至少在Chrome和IE8中有效。它仍然需要跨浏览器的严格测试。