2011-03-16 55 views
2

使用Google Maps Static Map API,我可以输入一个位置并以指定的缩放级别检索单个合成图像。如何使用Google Maps API检索单个图块图像?

我有兴趣添加动态滚动/缩放界面 - 我如何使用Google Maps API检索指定位置和缩放级别周围的单个地图平铺图像?

例如,如果我访问http://maps.google.com/时使用DOM检查,我可以挑选出一个256×256平铺图像象这样:

https://mts1.google.com/vt/x=2227&y=3120&z=13

https://mts1.google.com/vt/x=2227&y=3120&z=13

我怎么能计算值的该网址中的xy参数?

回答

0

使用Java代码: -

String temp; 
Image image = null; 
temp="http://maps.googleapis.com/maps/api/staticmap?center="+latitude+","+longitude+"& zoom=18&size=100x100&sensor=false&maptype=satellite"; 
URL url = new URL(temp); 
image = ImageIO.read(url); 
ImageIO.write((RenderedImage) image, "jpg",new File("D:\\map.jpg")); 

// give the latitude and the longitude as 25.165173,47.237548 

并运行代码,就会在沙特阿拉伯的区域的图像。

我认为这会很有用。

+1

谢谢,但正如我所说,我熟悉用于检索合成图像的基本Google地图静态地图API,这就是您的答案所展示的内容。我的问题是要求如何检索底层切片,而不是合成图像。 – smokris 2013-01-26 19:42:58

+0

你是什么意思的基础瓷砖? – user1994657 2013-01-26 19:43:56

+0

当您访问maps.google.com时,主地图视口由一堆较小的256x256方形地砖组成 - 您可以看到地图图像在加载时闪烁。这些是我所指的基础瓷砖。 – smokris 2013-01-27 06:22:52

1

简短的回答是,你不应该。 From the FAQ

我可以直接访问地图和卫星图像吗?

您不得 通过访问除了 谷歌地图API的任何机制的地图或卫星图像(如创建自己的地图API或 使用大量图块下载脚本)。如果您的应用访问 平板电脑以外的应用访问Google地图 API,则它们将被阻止。有关详细信息,请参阅Google地图服务条款10.1.3.a部分。

如果被阻止的威胁不够充分,那么当您更改内部网址而不发出警告时,您自己想出的任何系统迟早都会中断。