LandSurvey 项目
基于ArcGIS Android 10.2.9开发 开发者:蒋波涛 Email:chiangbt@geoportal.cn
1、图层类型说明
天地图图层(CGCS2000)
- TianDiTuLayerTypes
- VEC_C,矢量图层
- IMG_C,影像图层
- TER_C,地形层
- CVA_C,矢量注记层
- CIA_C,影像注记层
- CTA_C,地形注记层
腾讯图层
- TencentMapLayerTypes
- TENCENT_MAP_VECTOR,腾讯矢量层
- TENCENT_MAP_VECTOR_NIGHT,腾讯矢量(夜晚)层
- TENCENT_MAP_IMAGE,腾讯影像层(无路网)
- TENCENT_MAP_ROAD,腾讯道路层
- TENCENT_MAP_TERRAIN,腾讯地形层
Google地图层
- GoogleMapLayerTypes
- VECTOR_GOOGLE_MAP,谷歌矢量层
- IMAGE_GOOGLE_MAP,谷歌影像层
- TERRAIN_GOOGLE_MAP,谷歌地形层
- IMAGE_ANNO_GOOGLE_MAP,谷歌影像层(含注记和路网)
- OSM_Map,OSM数据层
GeoQ地图层
- GeoQMapLayerTypes
- ChinaOnlineCommunity
- ChinaOnlineCommunity_Mobile
- ChinaOnlineCommunityENG
- ChinaOnlineStreetPurplishBlue
- ChinaOnlineStreetWarm
高德数据层
- GaodeMapLayerTypes
- AMAP_VECTOR,高德矢量地图层
- AMAP_IMAGE,高德影像图层(不含路网,不含注记)
- AMAP_ROAD,高德路网图层(含路网,含注记)
- AMAP_TRAFFIC,高德实时交通图层
百度地图
- BaiduMapsTiledServiceLayer
- BAIDU_VECTOR,百度矢量
- BAIDU_IMAGE,百度影像
- BAIDU_ROAD,百度路网
- BAIDU_TRAFFIC,百度交通
2、基本用法
天地图2000
t_vec = new TianDiTuTiledMapServiceLayer(TianDiTuLayerTypes.VEC_C);
mapView.addLayer(t_vec);
Point initPoint = new Point(121.56, 29.862149);
mapView.zoomToResolution(initPoint, t_vec.getRes()[16]);
百度地图
目前百度地图的图层可以正确加载,但图上坐标偏移很大,需要进一步解决。
BaiduMapsTiledServiceLayer baiduMapsTiledServiceLayer = new BaiduMapsTiledServiceLayer(BaiduMapLayerTypes.BAIDU_VECTOR);
mapView.addLayer(baiduMapsTiledServiceLayer);
final float offsetX = 2518238;
final float offsetY = 910065;
Point curPt = JZLocationConverter.wgs84ToBd09(new Point(121.540614, 29.872488));
Point pt = GISHelper.lonLat2Mercator(curPt);
mapView.zoomToResolution(new Point(pt.getX() + offsetX, pt.getY() + offsetY), GoogleMapsTiledServiceLayer.getRes()[10]);
其它(以Tencent图层为例)
TencentMapsTiledServiceLayer tencentMapsTiledServiceLayer = new TencentMapsTiledServiceLayer(TencentMapLayerTypes.TENCENT_MAP_VECTOR);
mapView.addLayer(tencentMapsTiledServiceLayer);
// 经纬度坐标要转换为GCJ02后,再换成web墨卡托
Point initPoint = JZLocationConverter.wgs84ToGcj02(new Point(121.56, 29.862149));
Point pt = GISHelper.lonLat2Mercator(initPoint);
mapView.zoomToResolution(pt, tencentMapsTiledServiceLayer.getRes()[16]);