美文网首页安卓资源收集安卓开发程序员
高德地图安卓端实现卫星地图路网功能

高德地图安卓端实现卫星地图路网功能

作者: Even会编程 | 来源:发表于2018-03-16 15:42 被阅读21次
    • 项目需求场景——
      绘制地块时需要显示卫星地图,还要显示路网信息

    • 遇到的问题——
      目前高德地图只提供两种地图类型:
      AMap.MAP_TYPE_NORMAL 普通地图
      AMap.MAP_TYPE_SATELLITE 卫星地图
      前者提供了丰富的路网信息和建筑地标等信息,但是无法满足我们的卫星地图需求。


      普通地图——包含路网和建筑地标等信息

      后者除了卫星地图之外不提供任何额外信息


      卫星地图——毛都没有
      解决方案——
      我尝试使用路况图层来显示路网信息,但是效果很差,而且并没有地标和其他标记信息
      路况图层——呃。。。并没有什么卵用
      后来找到了解决问题的终极方案,这还要感激我们的另外一个需求。
      我们的项目需求中有一个是从用谷歌地图的图层进行遮罩,以解决部分区域地图无法显示的问题(此区域无图片信息),因为谷歌地图的覆盖区域和图片信息量是远远超过高德地图的。
      我们采用的方式是添加RemoteOverlay瓦片图层的方式实现。具体代码为:
        void addRemoteOverlay() {
            final String url = "https://mt3.google.cn/maps/vt?lyrs=y@194&hl=zh-CN&gl=cn&x=%d&y=%d&z=%d";
            TileOverlayOptions tileOverlayOptions = new TileOverlayOptions().tileProvider(new UrlTileProvider(256, 256) {
                @Override
                public URL getTileUrl(int x, int y, int zoom) {
                    try {
                        return new URL(String.format(url, x, y, zoom));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return null;
                }
            });
            tileOverlayOptions.diskCacheEnabled(true)
                    .diskCacheDir("/storage/emulated/0/amap/OMCcache")
                    .diskCacheSize(100000)
                    .memoryCacheEnabled(true)
                    .memCacheSize(100000)
                    .zIndex(-9999);
            googleTileOverlay = aMap.addTileOverlay(tileOverlayOptions);
        }
    

    final String url = "https://mt3.google.cn/maps/vt?lyrs=y@194&hl=zh-CN&gl=cn&x=%d&y=%d&z=%d";为瓦片图片模板格式,其中参数lyrs有三种类型:lyrs=y为混合地图,s为卫星地图,m为普通地图。我们使用谷歌地图的瓦片图层的时候默认采用的是lyrs=s,也就是普通的卫星图层,现在我们希望包含路网信息,只需要设置lyrs=y就OK了。
    完美实现!

    带有路网、地标信息的谷歌卫星地图——这才是我们想要的
    以上。
    文中提到的绘制地块、图层遮罩、瓦片图层等技术不在此篇讨论范围,如有兴趣请私信或者留言咨询。以后有机会我也会逐渐把这些知识梳理出来,分享给大家。

    <转载时请注明“来自简书-EvenZhu”>

    相关文章

      网友评论

        本文标题:高德地图安卓端实现卫星地图路网功能

        本文链接:https://www.haomeiwen.com/subject/euxrqftx.html