现在的位置: 首页 > 综合 > 正文

Arcgis for flex 给Google卫星地图加上地点名(道路图层)

2013年08月04日 ⁄ 综合 ⁄ 共 1148字 ⁄ 字号 评论关闭

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

自定义的效果图:

抱歉!评论已关闭.