适用于Google地图的Java API(或类似)

Sav*_*sis 25 java google-maps

我想知道是否有一个Java库充当Google Maps API的包装器.我感兴趣的是在我的桌面应用程序上显示特定区域(lon,lat)的卫星地图.它不一定是谷歌地图,任何地图服务都可以做到这一点.

我需要的是一个与桌面客户端一起工作的库,没有javascript,GWT等.

有任何想法吗?

Red*_*ing 10

如果您只想显示特定纬度经度的卫星地图图像(没有谷歌地图平移/缩放等),那么您应该查看Google静态地图.

您只需要构建一个URL字符串,然后为图像(以您喜欢的任何格式)发出HTTP请求(来自您的java实现).您可以在URL中指定一大堆参数来获取您所追踪的卫星图像:

从URL:

http://maps.google.com/staticmap?center=40,26&zoom=1&size=150x112&maptype=satellite&key=ABQIAAAAgb5KEVTm54vkPcAkU9xOvBR30EG5jFWfUzfYJTWEkWk2p04CHxTGDNV791-cU95kOnweeZ0SsURYSA&format=jpg
Run Code Online (Sandbox Code Playgroud)

编辑:好的,我实际上删除了这个答案,因为我发现TOS中的第10.8节明确禁止从浏览器外部访问静态地图.但后来我发现这个FAQ更新似乎允许它.我可能会问一个谷歌人,并得到最后的结论.

编辑:谢谢Paracycle,不知道这是一个新增加的常见问题,但在任何情况下,这是很明确的,你是不是允许这样做.

  • 实际上,在同一个常见问题解答(http://code.google.com/apis/maps/faq.html#mapsformobile)的其他部分中,他们还声明:"请注意,不允许使用静态地图API.基于浏览器的应用." (2认同)
  • 谷歌**允许**允许在桌面应用程序中使用其静态图像服务.有关"我可以在非Web应用程序中使用Google地图吗?"的问题,请参阅[常见问题解答](https://developers.google.com/maps/faq?hl=en) (2认同)

Cli*_*int 9

Google地图不允许在桌面应用程序中使用它的图像.Microsoft与USGS合作,网址为http://terraserver-usa.com/.有一个免费的Web服务WSDL.您可以使用常见的Java WSDL绑定库(如AxisCXF)来创建Java对象以访问该服务.

此外,NASA还拥有一个拥有Java API 的World Wind项目.图像不是Google图像,但大部分Google图像都是基于这些图像.

  • 谷歌**允许**允许在桌面应用程序中使用其静态图像服务.有关"我可以在非Web应用程序中使用Google地图吗?"的问题,请参阅[常见问题解答](https://developers.google.com/maps/faq?hl=en) (2认同)

Mar*_*ald 9

最近,谷歌推出了Maps Services for Java库,它为Java提供了地理编码,方向,距离矩阵,高程和时区API的支持.