如何在默认Google地图上方添加叠加地图?

时间:2010-01-12 12:52:52

标签: google-maps

从一开始就明白,我从来没有在我的任何程序/项目中使用Google地图,所以我对这个问题有一点了解。此外,我在SO中发现了一些关于Google地图的其他帖子,但我不确定这些内容是否对我的情况有帮助。

我想要做的是在现有的Google地图上方添加另一张地图。新的叠加图将具有一定程度的透明度,以便原始Google地图也可见。这样的事情:http://crf.casa.ucl.ac.uk/screenRoute.aspx?s=386&d=105&w=False

我该怎么做?我应该研究哪些技术?我是一名Java开发人员,但任何语言的答案都非常有用。

3 个答案:

答案 0 :(得分:2)

我建议下载开源工具MapTiler(适用于Windows和Mac OS X)。

您必须使用GMapType对象来定义自己的自定义地图。 MapTiler将为您自动化平铺过程,此外,一旦平铺过程完成,它将生成一个简单的HTML查看器。它还将包含一个自定义控件,可以将叠加层的不透明度从0更改为100%。

Custom Map Tile Overlays是Google Maps API中相当高级的主题(即使文档会以红色警告您)。但是,我相信您将能够使用并理解MapTiler的可交付HTML查看器。

以下是MapTiler能够生成的示例(请注意右上角的不透明度滑块):

答案 1 :(得分:1)

这取决于叠加层需要的详细程度/大小。如果您需要能够放大到非常详细的叠加层,MapTiler非常棒,但如果您的叠加层不需要非常大,我建议您使用GGroundOverlayGroundOverlay in V3) 。动态更改非常容易。这是Google的demo

就MapTiler而言 - 如果您想要动态更改一组叠加层,则可以为所有叠加层生成切片,然后在它们之间轻松切换。但是,如果您动态创建叠加层,则可能需要实现切片服务器。查看MapnikTileCache

答案 2 :(得分:0)

我推荐另一个简单的解决方案:OpenLayers。

请参阅: http://openlayers.org/dev/examples/

过滤“google”,在新窗口中打开链接,看看代码有多简单。

OpenLayers是JavaScript API(可以代替Google的API使用),但它可以使用多个层。你可以混合:

  • 谷歌地图
  • 矢量对象
  • 光栅图片
  • WMS对象 - GeoServer,MapServer,Mapnik磁贴(如OpenStreetMap中的这些)