我需要获取有关动态Google地图的数据,并使用API​​ V3从中创建静态Google地图

时间:2011-11-24 19:06:44

标签: javascript google-maps google-maps-api-3 google-static-maps

我真正想要做的是允许用户使用谷歌地图创建地图并保存图像。我试图通过使用谷歌地图api V3和静态地图api来解决这个问题。

用户可以使用动态谷歌地图滚动,缩放等,并找到他们喜欢的地图。然后,用户应按下一个按钮,该按钮从谷歌地图(中心,缩放级别等)中提取数据,该数据将查询发送到静态谷歌地图API。静态谷歌地图api将返回可以保存的图像。

我有这个全部工作*除了它并不总是有效。有时,静态谷歌地图返回的图像将完全是用户在动态地图中看到的图像。其他时候图像可能会偏离几米(我相信这是因为动态谷歌地图api使用比静态api更高的经度和纬度精度),甚至数千公里(我不知道为什么会发生这种情况)。图像通常在缩放级别越大(因为精度差异)。

我想知道是否有人尝试将动态地图转换为静态地图,并想出了一个非错误的解决方案,或者是否有更好的解决方案可行。

2 个答案:

答案 0 :(得分:1)

  

“...我相信这是因为动态谷歌地图api使用更多   经度和纬度的精度高于静态api ......“

AFAIK在谷歌地图V3和静态地图api中,纬度和经度精确到小数点后6位。小于6位小数的精度被忽略。这似乎是这两个文档中提出的观点,尽管与地图api的状态有关(我的重点)。

  

“使用Google地图的当前缩放功能,您应该只是   小数点后需要6位精度“

静态http://code.google.com/apis/maps/documentation/staticmaps/#Usage

常规http://code.google.com/apis/maps/articles/phpsqlajax_v3.html

如果没有看到您正在使用的代码,很难说出问题的根本问题是什么。

答案 1 :(得分:0)

This wizard是一个非常好的开始。它允许用户构建地图,然后将所有内容(叠加等)转换为合适的静态地图URL。

它使用Maps API V2,但不推荐使用。您需要使用V3 Maps API

另一个做类似事情的向导是Styled Maps Wizard。它没有任何叠加层,但允许用户设置地图样式,重新居中,指定缩放,然后生成样式化地图URL。