《ArcGIS Runtime SDK for Android学习笔记》-11、自定义扩展图层加载Google地图/高德地图并缓存

《ArcGIS Runtime SDK for Android学习笔记》-11、自定义扩展图层加载Google地图/高德地图并缓存
wshunli本文主要介绍自定义扩展图层加载高德/百度/腾讯等切片底图并缓存
概述
上篇文章介绍了自定义扩展图层加载天地图并缓存,由于众所周知的原因,天地图并不一定能满足所有项目需要,并不一定符合实际国情。
所以这篇文章介绍自定义扩展图层加载 Google地图/高德地图,因为 Google 地图/ 高德地图的坐标系比较符合 “中国特色坐标系” 。事实上加载 Google 地图/高德地图和加载天地图类似,甚至前者还要更简单。
阅读本文前建议先阅读 https://www.wshunli.com/posts/eeb67a5.html
本文源码:https://github.com/wshunli/arcgis-android-moremap
依赖添加及使用
1、搭建 ArcGIS for Android 环境
这部分内容在前面有详细的介绍 https://www.wshunli.com/posts/29ec97b7.html
2、添加 arcgis-android-moremap 依赖
arcgis-android-moremap 已经发布至 jcenter ,确定项目已配置 jcenter 仓库即可。
repositories { |
3、快速入门
MapView mMapView = (MapView) findViewById(R.id.map); |
缓存切片图层,指定缓存路径即可缓存切片:
MapView mMapView = (MapView) findViewById(R.id.map); |
4、支持图层,指定 MoreMapLayerTypes 即可。
高德地图
- AMAP_VECTOR、高德矢量图层(含路网,含注记)
- AMAP_IMAGE、高德影像图层(不含路网,不含注记)
- AMAP_ROAD、高德路网图层(含路网,含注记)
- AMAP_TRAFFIC、高德实时交通图层
百度地图
- BAIDU_MAP_VECTOR、百度矢量图层(含路网,含注记)
- BAIDU_MAP_IMAGE、百度影像图层(不含路网,不含注记)
- BAIDU_MAP_ROAD、百度路网图层(含路网,含注记)
- BAIDU_MAP_TRAFFIC、百度实时交通图层
腾讯地图
- TENCENT_MAP_VECTOR、腾讯矢量图层(含路网,含注记)
- TENCENT_MAP_VECTOR_NIGHT、腾讯矢量图层(夜间,含路网,含注记)
- TENCENT_MAP_IMAGE、腾讯影像图层(不含路网,不含注记)
- TENCENT_MAP_TERRAIN、腾讯地形图层(不含路网,不含注记)
- TENCENT_MAP_ROAD 、腾讯路网图层(含路网,含注记)
谷歌地图
- GOOGLE_MAP_VECTOR、谷歌矢量地图服务
- GOOGLE_MAP_IMAGE、谷歌影像地图服务
- GOOGLE_MAP_TERRAIN、谷歌地形地图服务
源码分析
谷歌底图
瓦片地址:
http://mt2.google.cn/vt/lyrs=m&hl=zh-CN&gl=cn&x=420&y=193&z=9
核心代码如下:
|
其中
String url = "http://mt" + (col % 4) + ".google.cn/vt/lyrs=" |
可以更改为
String url = "https://mt" + (col % 4) + ".google.com/vt/lyrs=" |
但是这个 URL 不太符合目前的中国的国情,会出现网络问题。
高德地图
瓦片地址:
http://webst01.is.autonavi.com/appmaptile?style=6&x=13417&y=6499&z=14
核心代码如下:
|
高德地图还可以获取路况信息:
http://history.traffic.amap.com/traffic?type=2&day=7&hh=11&mm=0&x=13417&y=6499&z=14 |
道理是一样的。
最后欢迎 star 或者提交 PR 到本仓库。
https://github.com/wshunli/arcgis-android-moremap
参考资料
1、ArcGIS For Android 使用谷歌地图服务 - 牧羊的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/u014014578/article/details/21476395
2、客户端地图拼图算法解析 - 九毫 - 博客园
http://www.cnblogs.com/ninemilli/archive/2011/12/26/2289285.html
3、OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS) - 可可西 - 博客园
http://www.cnblogs.com/kekec/p/3159970.html
4、国内主要地图瓦片坐标系定义及计算原理 | CntChen Blog
http://cntchen.github.io/2016/05/09/国内主要地图瓦片坐标系定义及计算原理/
5、Arcgis for js加载百度地图 - LZUGIS - 博客频道 - CSDN.NET
http://blog.csdn.net/gisshixisheng/article/details/44853709
6、jxsapp/ArcGis_moka: arcgis Android 加载 Google 地图 相关工具包
https://github.com/jxsapp/ArcGis_moka
7、ArcGIS Javascript API 加载高德在线地图扩展 - ThinkGIS
http://www.thinkgis.cn/topic/55bed4f76edd0d1a1d9f44cf






