2012-04-05 42 views
0

是否有可能替换google map web applet使用的地图?我的意思是像替换applet从中检索地图的某个URL。另外,他们在什么格式?它们都只是图像(每个缩放级别一个)还是动态生成的?替换谷歌地图地图?

+1

你需要的一切没有硬编码的地图:http://goo.gl/wRzA3 – lu1s 2012-04-05 20:45:33

+0

做什么你的意思是? – 2012-04-05 20:46:27

+0

谷歌地图不是基于Java小程序。标签已移除。 – 2012-04-06 19:45:57

回答

4

确定您可以替换整个地图。谷歌地图只包含图像(JPG和PNG),它们都是256x256像素(称为“贴图”)。

在缩放级别0(在一张地图上可以看到整个世界的最低缩放级别)中,只有一个图块包含整个地图。在下一个缩放级别上,此图块分为4个子部分,它们构成下一个缩放级别。因此,对缩放级别1您有4个瓷砖等..

通常每缩放级别瓦片的数目如下:

number_of_tiles_per_zoom_level = 4^zoom_level;

缩放级别21这意味着有4398046511104个瓷砖:o

要替换为自己的地图,你必须首先生成地图瓦片的那些,然后你可以用它们谷歌地图里面。

看一看:ImageMapTypes

这里是使用这种技术的一个例子:https://google-developers.appspot.com/maps/documentation/javascript/examples/maptype-image

+0

我猜我必须编写一个脚本来分割一个更大的图像。如果我的计算是正确的,原始图像必须是17179869 184x17179869184像素! – 2012-04-08 13:26:16

+0

要么你自己写,要么使用一些现有的程序,例如http://www.maptiler.org/,那里有很多程序。在缩放级别21上,原始尺寸将为sqrt(4398046511104)* 256 = 536 870 912(536870912 x 536870912像素),但您的地图不必具有21个缩放级别,基本上,原始大小决定了其中的缩放级别是。 – stewe 2012-04-08 19:19:28

1

是的,这是可能的。但是您需要以正确的方式进行操作:Theres Google Maps API,自定义覆盖图:https://developers.google.com/maps/documentation/javascript/overlays#GroundOverlays

+0

谢谢,但有可能在物理上取代整个地图?而不是覆盖它? – 2012-04-05 21:06:24

+0

我这么认为。我看到运行GMaps API的引擎没有显示原始地图。花点时间阅读文档。你可以显示自定义图层,只使用导航+缩放(因为我明白这就是你要找的) – lu1s 2012-04-05 21:10:26