美文网首页AndroidandroidAndroid知识
App中高德地图如何显示国外地址

App中高德地图如何显示国外地址

作者: 天哥在奔跑 | 来源:发表于2017-03-09 11:46 被阅读5860次

    上篇《基于Android平台的全球地图方案》大概描述了不同地图之间的差异,以及在国内要显示国外的地址有哪些方案。本篇就说一下在Android开发中,如何在地图上显示国外的地址。

    我们的方案还是使用高德地图。

    上篇已经提到,高德地图支持瓦片显示,所以当我们显示国外地址时,只需要在高德地图上添加Google的瓦片即可,开发者也可以使用已经下载好的瓦片或者自定义的瓦片。这里笔者只写一个简单的例子,具体大家可以查看高德地图的API。

    TileProvider tileProvider = new UrlTileProvider(256, 256) {
                    public URL getTileUrl(int x, int y, int zoom) {
                        try {
                            return new URL(String.format(http://mt2.google.cn/vt/lyrs=m@198&hl=zh-CN&gl=cn&src=app&x=%d&y=%d&z=%d&s=, x, y, zoom));
                        } catch (MalformedURLException e) {
                            e.printStackTrace();
                        }
                        return null;
                    }
                };
    aMap.addTileOverlay(new TileOverlayOptions()
                            .tileProvider(tileProvider)
                            .diskCacheEnabled(true)
                            .diskCacheDir("/storage/emulated/0/demo/cache")
                            .diskCacheSize(100000)
                            .memoryCacheEnabled(true)
                            .memCacheSize(100000));
    

    通过以上方法,就可以在高德地图的基础上添加Google瓦片,便可以显示国外的地图了,上篇中有添加瓦片前后的对比图。

    那么除了这种方法之外,对于开发者其实还有更简单的方法,高德地图已经帮我们封装好了,只需要调用以下方法:

    MapsInitializer.loadWorldGridMap(true);

    仅此一句话便可以显示全球的地图信息了,当高德地图无法显示国外地址时会自动切换到Google显示,开发者无需干预。但是如果开发的需求仅限于国内的话,就不用添加这一句了,毕竟影响加载的效率和内存的占用。

    推荐:

    Android开发视频教程(Java版 | 2017年最新录制)

    相关文章

      网友评论

        本文标题:App中高德地图如何显示国外地址

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