android地图sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
个性化地图
下载开发文档
功能介绍

个性化地图,通过改变底图各元素和文字的颜色、可见性,实现地图多样展现效果,适配各个行业不同的地图呈现效果或适配不同app风格。

支持设置地图点、线、面共51个元素,包含陆地、水系、绿地、人造区域、建筑物、道路、铁路、地铁,poi、行政区划、边界线等。
支持设置的地图元素的颜色、透明度、宽度、指定级别控制元素及其可见性的变更。
个性化地图功能示例代码位于基础地图(basemapdemo)这个功能模块,开发者使用时可以参考。
升级看点

自android地图sdk v 6.3.0(包含)版本之后,个性化地图全面升级,看点如下:

新版的个性化地图样式对齐凯发k8官方旗舰厅官网个性化地图编辑器,做到一次编辑,多端使用。
地图样式实现分版本管理,开发者对定制的地图样式实现有效管理,保证样式稳定。
不再支持json格式的样式文件配置,改为.sty格式的样式文件。需要配合生成,升级后,个性化地图的调用接口保持不变,样式路径需要传入.sty格式的文件路径。

备注:
我们推荐您使用升级后的个性化地图,如仍需使用json格式,请根据个性化地图元素说明规则,编辑json代码。

使用步骤

——传入.sty文件路径/样式id——开始使用个性化地图

1. 选择模版/编辑个性化地图

开发者可选择模版或者新建并配置个性化地图,打造独具风格与特色的地图。

2. 发布样式,获取.sty样式id或者下载样式文件

a、如图,点击发布样式

b、选择确认发布

c、获取在线样式id

d、点击下载样式文件,选择下载sty文件,获取本地离线个性化样式文件

3. 使用个性化地图

方式一:配置.sty样式id

// 地图view实例
privatemapview mmapview;
// 用于设置个性化地图的样式文件
privatestatic final stringcustom_file_name_cx="custom_map_config_cx.sty";
@override
publicvoidoncreate(bundle savedinstancestate){
super.oncreate(savedinstancestate);
mmapview =newmapview(this,newbaidumapoptions());
framelayout framelayout =newframelayout(this);
framelayout.addview(mmapview);
setcontentview(framelayout);
// 获取.sty文件路径
string customstylefilepath =getcustomstylefilepath(custommapdemo.this,custom_file_name_cx);
mapcustomstyleoptions mapcustomstyleoptions =newmapcustomstyleoptions();
mapcustomstyleoptions.localcustomstylepath(customstylefilepath);//本地离线样式文件路径,如果在线方式加载失败,会默认加载本地样式文件。
mapcustomstyleoptions.customstyleid("d868bebd0fe24fa59381acbcd4db24e3");//在线样式文件对应的id。
mmapview.setmapcustomstyle(mapcustomstyleoptions,newcustommapstylecallback(){
@override
public boolean onpreloadlastcustommapstyle(string customstylepath){
returnfalse;//默认返回false,由sdk内部处理加载逻辑;返回true则sdk内部不会做任何处理,由开发者自行完成样式加载。
}
@override
public boolean oncustommapstyleloadsuccess(boolean hasupdate,string customstylepath){
returnfalse;//默认返回false,由sdk内部处理加载逻辑;返回true则sdk内部不会做任何处理,由开发者自行完成样式加载。
}
@override
public boolean oncustommapstyleloadfailed(int status,stringmessage,string customstylepath){
returnfalse;//默认返回false,由sdk内部处理加载逻辑;返回true则sdk内部不会做任何处理,由开发者自行完成样式加载。
}
});
}
@override
protectedvoidonresume(){
super.onresume();
// 在activity执行onresume时必须调用mmapview.onresume()
mmapview.onresume();
}
@override
protectedvoidonpause(){
super.onpause();
//在activity执行onpause时必须调用mmapview.onpause()
mmapview.onpause();
}
@override
protectedvoidondestroy(){
super.ondestroy();
// 在activity执行ondestroy时必须调用mmapview.ondestroy()
mmapview.ondestroy();
}

方式二:加载样式文件
a、 在项目中添加自定义样式文件 如:将离线样式文件存放在assets目录下。

b、 传入样式文件路径:
v6.0.0版本起,建议使用新的个性化地图api,能够实现动态更改样式(同一地图设置不同的样式),同时适配多地图场景(不同地图设置不同的样式),并且样式文件路径设置api不再要求在地图创建之前调用,地图对象创建完成之后设置即可。在地图对象释放时,也无需关闭个性化开关。详细区别见个性化地图元素说明规则

// 地图view实例
privatemapview mmapview;
// 用于设置个性化地图的样式文件
privatestatic final stringcustom_file_name_cx="custom_map_config_cx.sty";
@override
publicvoidoncreate(bundle savedinstancestate){
super.oncreate(savedinstancestate);
mmapview =newmapview(this,newbaidumapoptions());
framelayout framelayout =newframelayout(this);
framelayout.addview(mmapview);
setcontentview(framelayout);
// 获取.sty文件路径
string customstylefilepath =getcustomstylefilepath(custommapdemo.this,custom_file_name_cx);
// 设置个性化地图样式文件的路径和加载方式
mmapview.setmapcustomstylepath(customstylefilepath);
// 动态设置个性化地图样式是否生效
mmapview.setmapcustomstyleenable(true);
}
@override
protectedvoidonresume(){
super.onresume();
// 在activity执行onresume时必须调用mmapview.onresume()
mmapview.onresume();
}
@override
protectedvoidonpause(){
super.onpause();
//在activity执行onpause时必须调用mmapview.onpause()
mmapview.onpause();
}
@override
protectedvoidondestroy(){
super.ondestroy();
// 在activity执行ondestroy时必须调用mmapview.ondestroy()
mmapview.ondestroy();
}
4. 至此,可以开始使用个性化地图。

上一篇

室内地图

下一篇

离线地图

本篇文章对您是否有帮助?

网站地图