Javascript 我需要获取关于动态谷歌地图的数据,并使用API V3从中创建静态谷歌地图
我真正想做的是允许用户使用谷歌地图创建地图并保存图像。我尝试了通过使用GoogleMapsAPIv3和静态地图api来解决这个问题 用户可以使用动态谷歌地图滚动、缩放等,并找到自己喜欢的地图。然后,用户应该按下一个按钮,从谷歌地图(中心、缩放级别等)提取数据,然后将查询发送到静态谷歌地图api。静态GoogleMapAPI将返回可以保存的图像 我所有这些都能用,只是它不总是能用。有时,静态谷歌地图返回的图像将完全是用户在动态地图中看到的图像。其他时候,图像可能会偏离几米(我认为这是因为动态谷歌地图api比静态api使用更高的经度和纬度精度),甚至数千公里(我不知道为什么会发生这种情况)。缩放级别越大,图像通常处于关闭状态(由于精度差异) 我想知道是否有人尝试过将动态地图转换为静态地图,并提出了一个无缺陷的解决方案,或者是否有更好的解决方案可以工作。这是一个非常好的开始。它允许用户构建地图,然后将所有内容(覆盖图等)转换为合适的静态地图URL 不过,它使用的是不推荐使用的MapsAPIv2。您将希望使用 另一个执行类似操作的向导是。它没有任何覆盖,但允许用户设置地图样式、重新居中、指定缩放,然后生成样式化的地图URL “…我相信这是因为动态谷歌地图api使用了更大的 经度和纬度的精度高于静态api…” 谷歌地图V3和静态地图api纬度和经度中的AFAIK都有精确到小数点后6位的精度。超过小数点后6位的精度将被忽略。这似乎是这两个文档中提出的观点,尽管与mapsapi相关的文档中确实指出了这一点(我的重点) “使用谷歌地图当前的缩放功能,您只需 小数点后需要6位精度” 静止的 正规的Javascript 我需要获取关于动态谷歌地图的数据,并使用API V3从中创建静态谷歌地图,javascript,google-maps,google-maps-api-3,google-static-maps,Javascript,Google Maps,Google Maps Api 3,Google Static Maps,我真正想做的是允许用户使用谷歌地图创建地图并保存图像。我尝试了通过使用GoogleMapsAPIv3和静态地图api来解决这个问题 用户可以使用动态谷歌地图滚动、缩放等,并找到自己喜欢的地图。然后,用户应该按下一个按钮,从谷歌地图(中心、缩放级别等)提取数据,然后将查询发送到静态谷歌地图api。静态GoogleMapAPI将返回可以保存的图像 我所有这些都能用,只是它不总是能用。有时,静态谷歌地图返回的图像将完全是用户在动态地图中看到的图像。其他时候,图像可能会偏离几米(我认为这是因为动态谷歌地
如果看不到您正在使用的代码,很难说问题的根源是什么。我创建了一个小JSFIDLE来测试一下。您可以在此处查看-移动地图,放大/缩小,更改地图类型,然后单击左下角的“获取静态地图”按钮。这将用完全相同的静态图像地图取代谷歌地图。到目前为止,它似乎总是显示相同的视图。您能找到一些不显示相同视图的特定案例吗?是否可能您请求的静态地图太大?静态地图API的免费版本的最大值为640x640像素。如果你要求的尺寸比这个大,我想它会裁剪你的地图。不,这不是尺寸问题。你的也有同样的问题。我试着放大南非的底部(放大很多)。动态地图显示了一条路,当我点击静态地图链接时,它显示了海洋。我无法再现这个问题,在南非南部的各个地方缩放。是否有特定的城市/城镇和街道?此外,您还提到让用户保存图像。请注意,这两个API的服务条款都禁止以下情况:。第10.1.3节。根据(糟糕的)经验,我猜测你可能正在放弃你的lat/long或类似数学问题的符号。验证您发送到静态映射API的lat/long是否是用户看到的-我敢打赌,您正在丢失一些信息。