Android高德地图实现自定义地图样式

现在的应用中很多地方都会用到地图这个控件,但是地图提供给我们的样式有时可能不是我们想要的样式,这时候就需要用到第三方地图的自定义样式。
本文已高德地图为例,其他地图可自定查看官方文档
官方文档地址链接: 开发 --> Android地图SDK -->开发指南 -->创建地图 -->自定义地图
1.申请高德地图账号
高德开放平台控制台
2.点击自定义地图
自定义地图模板
3.选择一个模块开始绘制自己想要的样式(如果免费模式不能满足您的需求,可自行选择付费版本)
在这里插入图片描述
4.保存之后发布地图样式 然后选择使用与分享
选择自己对应的sdk版本进行下载离线文件地图样式使用界面
下面开始正式使用此文件(关于地图的显示本文不做赘述,可自行查看官方文档),解压之后获取到两个文件(官网说是三个文件,但是我这里是两个文件,可能是因为我使用的是免费版的原因)
解压之后的文件
5.将文件放到项目中
复制两个文件放到res > assets(如果没有可以自行创建) 文件夹下
在这里插入图片描述
6.获取assets文件夹下的文件

	 private static byte[] getAssetsStyle(Context context){
            byte[]  buffer1 = null;
            InputStream is1 = null;
            try {
                is1 = context.getResources().getAssets().open("style.data");
                int lenght1 = is1.available();
                buffer1 = new byte[lenght1];
                is1.read(buffer1);
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    if (is1!=null) {
                        is1.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return buffer1;
    }
	7.为Amap设置此文件
public static void setCustomMap(Context context, AMap aMap){
        CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions();
        customMapStyleOptions.setEnable(true);
        customMapStyleOptions.setStyleData(getAssetsStyle(context));
        customMapStyleOptions.setStyleExtraData(getAssetsStyleExtra(context));
        aMap.setCustomMapStyle(customMapStyleOptions);
    }

以上就是大致实现方法,如有其他方法可留言联系我,大家一起共同探讨
注:高德地图在6.6.0版本以后,自定义地图使用方法进行了较大更新以前的方法很多都被弃用,而且设置无效。如要使用,可先升级到最新版本。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值