使用 Java 使用 Google Map 下载地图图像
Posted
技术标签:
【中文标题】使用 Java 使用 Google Map 下载地图图像【英文标题】:Downloading a map image using Google Map using Java 【发布时间】:2013-09-24 19:21:41 【问题描述】:我想做什么:
我想用 Java 创建一个小程序(这里是 Java 初学者),我在其中指定 GPS 位置和缩放级别,并下载 Google 地图显示的地图图像。与此相关,我需要有一个与图像相关的比例(矩形图像的 x 和 y 维度的 Km 大小)。
我知道的:
我知道如何在浏览器中显示正确的图像,直接在 URL 中指定 GPS 位置和缩放级别(例如:https://maps.google.com/maps?f=q&hl=de&geocode=&q=48.167432,+10.533072&z=7)。应该有某种库,比如 Python 中的 urllib,我将用它来调用这个 URL。
然后如何下载这张图片,以及如何知道图片中的区域? 我实际上找到了一个公式来关联像素中“包含”的米量(或任何单位)(此功能取决于地图的纬度和缩放级别)。在这种情况下,如何知道地图使用的像素?
感谢您的任何建议和/或指点!
【问题讨论】:
以前从未做过任何此类事情,但是:developers.google.com/maps 似乎是一个很棒的起点。 谢谢,我已经研究了一下,但无济于事。另外,API 是针对 javascript 的,而我想使用 Java。 只需要多看一点:)(见我的回答) 【参考方案1】:您想使用静态地图 API。
https://developers.google.com/maps/documentation/staticmaps/index
您的特定地图将位于 URL
http://maps.googleapis.com/maps/api/staticmap?center=48.167432,10.533072&size=400x400&sensor=true&zoom=7
只是一个图像。如果您使用 GPS 传感器查找位置,请设置 sensor=true。否则设置为 false。
从这个网址读取图片:
Getting Image from URL (Java)
然后如何下载此图像,以及如何知道图中所示区域 它?我实际上找到了一个公式来关联米的数量(或 任何单位)“包含”在像素中(此功能取决于 地图的纬度和缩放级别)。在这种情况下,如何知道 地图使用的像素?
您将像素和缩放级别传递到图像中,因此该解决方案提供了所有信息,因此您的比例应该很容易计算。
【讨论】:
这听起来就是我真正需要的。我现在正在研究静态地图 API。不知何故,我错过了 API 的这一部分。非常感谢!以上是关于使用 Java 使用 Google Map 下载地图图像的主要内容,如果未能解决你的问题,请参考以下文章
每 X 秒用 mysql 数据更新 google java map
如何在 Xamarin 中使用 Google Map id?