我这里面,是因为使用flexviewer-2.4框架,它们自带的config.xml 添加地图图层的方法。我使用添加不成功 所想出来的办法。框架自带的加载方法是。
1、在config.x,ml文件里添加一个:
<layer label="地名" type="GoogleMap" style="address" visible="false"/>
2、后在GooglemapLayer.as 文件里添加一个新的url:
else if(mapStyle == "address"){//道路图 url = "http://mt"+(col%4)+".google.cn/vt/imgtp=png32&lyrs=h@174000000&hl=zh-CN&gl=cn&src=app&" + "x=" + col + "&" + "y=" + row + "&" + "z=" + level+ "&" + "s=" + s; } //获取影像地图 else if(mapStyle == "Image") { // url = "http://mt"+(col%4)+".google.cn/vt/lyrs=s@106&hl=zh-CN&gl=cn&src=app&" + "x=" + col + "&" + "y=" + row + "&" + "z=" + level+ "&" + "s=" + s; }
设置完成后,就可以把这个道路图加到map.layers里了。
我自己加这个图层是在mapManager里使用Googlemap的方法:
private var POIgooglemap:GoogleMapLayer; private function GooglemapPoiLayer():void{ POIgooglemap = new GoogleMapLayer(); POIgooglemap.name = "道路"; POIgooglemap.mapStyle = "address"; POIgooglemap.addEventListener(LayerEvent.LOAD_ERROR, layer_loadErrorEvent); POIgooglemap.addEventListener(LayerEvent.LOAD, layer_loadEvent); map.addLayer(POIgooglemap); }
我的方法就是这样。自定义自己的加载。不使用默认加载的方式。
完成后的效果和Google地图里的是一样的。
Google的效果图:
自定义的效果图: