获取给定区域的谷歌地图静态图像

11

我知道Google Maps提供了一个用于获取静态图片的API:

https://developers.google.com/maps/documentation/static-maps/intro

然而,该API需要提供中心点、缩放级别和输出图片尺寸作为输入。

在我的情况下,我需要一张适合给定区域的图片,以NW(左上角)和SE(右下角)坐标作为输入来描述该区域的矩形。我没有在Google Maps API中看到这个选项,因此我想知道是否有其他方法可以实现这一点。

1个回答

16
如果您至少指定一个标记,则可以省略中心和缩放参数。在这种情况下,您可以通过标记来显示特定区域。
例如,我有西班牙巴塞罗那的边界:
41.320004,2.069526 和 41.469576,2.22801
我可以轻松地计算出边界的中心位置:
41.39479,2.148768
现在,在边界的中心放置一个标记,并使用静态地图API的可见参数来指定NW和SE。
可选的visible参数指定一个或多个应在地图上保持可见的位置,尽管不会显示任何标记或其他指示器。使用此参数可确保显示Google静态地图API上的某些功能或地图位置。 https://maps.googleapis.com/maps/api/staticmap?size=600x400&markers=icon%3Ahttp%3A%2F%2Fwww.google.com%2Fmapfiles%2Farrow.png%7C41.39479%2C2.148768&visible=41.320004%2C2.069526%7C41.469576%2C2.22801&key=api_key 代码片段
<img src="https://maps.googleapis.com/maps/api/staticmap?size=600x400&markers=icon%3Ahttp%3A%2F%2Fwww.google.com%2Fmapfiles%2Farrow.png%7C41.39479%2C2.148768&visible=41.320004%2C2.069526%7C41.469576%2C2.22801&key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU&signature=WkICJTRmmI1EgDK2VJI4l9lt3qA=" title="" />

因此,您拥有了指定区域的图像。如果您为标记图标创建一个透明的png文件,我认为您甚至可以更进一步。

希望对您有所帮助!


15
请注意,现在这个API不再有免费的套餐可供选择。 :-( - Elias Soares
2
我认为结果图像不会 完全 与您传递的 visible 区域相同。 - Anton Duzenko

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