我这里面,是因为使用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的效果图:
自定义的效果图: