本来这几天我也在研究这个问题,可是最后我发现,Google使用了一个自己定义的地理坐标模式,具体参考getBitmapCoordinate函数就能看出来,而这种坐标模式和其他的地图提供者的一些模式区别很大,转化起来非常复杂(而且我的能力不够),因此我至今没有成功。
可是我在网上找到了一个JS文件成功地实现了该功能,不过我看过这个例子之后才知道,这个例子使用的是一种比较自由的动态图片文件的方法来提供地图的,因此能够比较容易的与Google兼容,不管怎么说,我就先用上了。
只需要在页面中引用这个JS文件GMapCrossControl.js(点击下载该文件),并引入到页面:
1
<script src="GMapCrossControl.js" type="text/javascript"></script>
然后就可以通过如下方法加入新的通过WMS服务提供的地图:
1
map = new GMap(document.getElementById("map"));
2
//上面是创建的地图对象,下面添加两个地图类型
3
map.mapTypes.push(new WMSSpec(map.mapTypes[0], "http://wms.jpl.nasa.gov/wms.cgi?", "JPL-mod", "modis", "", "image/jpeg" ));
4
map.mapTypes.push(new WMSSpec(map.mapTypes[0], "http://wms.jpl.nasa.gov/wms.cgi?", "JPL-gm", "global_mosaic", "", "image/jpeg" ));
5
2
3
4
5
其中的参数可以参考以下JS文件源码中的说明:
1
//==============================================================
2
//Spatial Data Logic - 2005
3
//WMS Map Spec
4
2
3
4
最可惜的是,提供WMS服务的网站基本上都不提供详细的中国的地图服务,像上面的两个能够把中国显示出来已经是不错的了,国内的地图提供网站比如http://www.mapbar.com、http://www.51ditu.com 又不提供和Google兼容的服务……