Name Last Update
.idea Loading commit data...
app Loading commit data...
gradle/wrapper Loading commit data...
.gitignore Loading commit data...
build.gradle Loading commit data...
gradle.properties Loading commit data...
gradlew Loading commit data...
gradlew.bat Loading commit data...
readme.md Loading commit data...
settings.gradle Loading commit data...

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]);

3、查询

本系统设置了三种查询POI的方式
1、天地图API检索,使用POST发送
2、高德API,使用get
3、腾讯API,使用get (http://apis.map.qq.com/ws/place/v1/suggestion/?region=北京&keyword=美食&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77)

4、示例