(以“<div id="examples_center"><!-- 页面标题 --><div class="title-hd">个性化地图</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">...”为内容创建页面) |
|||
(未显示1个用户的1个中间版本) | |||
第1行: | 第1行: | ||
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">个性化地图</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">功能场景</div><div class="wrap-mi">示例说明了个性化地图的黑夜、白天样式如何在同一页面进行切换或者关闭个性化地图。</div><!-- --></div><div class="demos_wrap"><div class="header"><div class="andiord-header active">Android</div><div class="ios-header">iOS</div></div><div class="andiord-wrap wrap"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-and"></div><div class="phone-android"><div class="video-wrap infor"><div class="video-control"></div><!-- 安卓视频位置 (不写协议)--><pre>//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/个性化地图@android.mp4</pre> | <div id="examples_center"><!-- 页面标题 --><div class="title-hd">个性化地图</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">功能场景</div><div class="wrap-mi">示例说明了个性化地图的黑夜、白天样式如何在同一页面进行切换或者关闭个性化地图。</div><!-- --></div><div class="demos_wrap"><div class="header"><div class="andiord-header active">Android</div><div class="ios-header">iOS</div></div><div class="andiord-wrap wrap"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-and"></div><div class="phone-android"><div class="video-wrap infor"><div class="video-control"></div><!-- 安卓视频位置 (不写协议)--><pre>//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/个性化地图@android.mp4</pre> | ||
− | </div><div class="video-icon-and"><div class="play play-and"></div><div class="stop stop-and"></div></div></div><div class="progressWrap-hide-and"></div><div id="videoControls-and"><div id="progressWrap-and"><div id="playProgress-and"></div></div></div></div><div class="left-qrCode"><!-- 安卓二维码位置 --><div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/个性化地图@2xanidroid.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- 安卓使用产品下选项,可有多个 | + | </div><div class="video-icon-and"><div class="play play-and"></div><div class="stop stop-and"></div></div></div><div class="progressWrap-hide-and"></div><div id="videoControls-and"><div id="progressWrap-and"><div id="playProgress-and"></div></div></div></div><div class="left-qrCode"><!-- 安卓二维码位置 --><div class="qrCode-and">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/个性化地图@2xanidroid.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- 安卓使用产品下选项,可有多个 --><div class="documentA">Android地图SDK|/index.php?title=androidsdk</div><div>></div><div class="documentA">个性化地图|/index.php?title=androidsdk/guide/create-map/custommap</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- 安卓源码地址 --><div class="github-url-and">//mapopen-website-wiki.bj.bcebos.com/demos/BaiduMapSDKExample.zip</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div></div><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">MapView</div></div><div><div>setMapCustomStylePath(String customStyleFilePath)</div></div><div><div>设置个性化地图样式文件的路径</div></div></div><!-- --><div class="table_wrap_w"><div><div class="table-wrap-className">ReverseGeoCodeOption</div></div><div><div>setMapCustomStyleEnable(boolean customMapStyleEnable)</div></div><div><div>动态设置个性化地图样式是否生效</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-nav"><div>1.示例中是本地样式加载,sty样式存储在工程的assets文件下</div></div><div class="pre-wrap"><div class="pre-wrap-nav"><div>JAVA</div></div><!-- 安卓示例代码位置 --><div class="pre-wrap-w pre-wrap-w-and"><pre class="prettyprint prettyprinted pre-and">/** |
/** | /** | ||
* 获取个性化地图存储路径 | * 获取个性化地图存储路径 | ||
第27行: | 第27行: | ||
} finally { | } finally { | ||
try { | try { | ||
− | if (inputStream | + | if (inputStream!= null) { |
inputStream.close(); | inputStream.close(); | ||
} | } | ||
− | if (outputStream | + | if (outputStream!= null) { |
outputStream.close(); | outputStream.close(); | ||
} | } | ||
第52行: | 第52行: | ||
</pre> | </pre> | ||
<div class="pre-btn"><div class="pre-btn-copy-and">复制</div><div class="pre-btn-cb-and">深色</div></div><div class="success">复制成功</div></div></div></div><div class="ios-wrap wrap" style="display: none;"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-ios-sh"></div><div class="phone-ios"><div class="video-wrap infor"><div class="video-control"></div><!-- ios视频位置 --><pre>https://mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/个性化地图@3xios.mp4</pre> | <div class="pre-btn"><div class="pre-btn-copy-and">复制</div><div class="pre-btn-cb-and">深色</div></div><div class="success">复制成功</div></div></div></div><div class="ios-wrap wrap" style="display: none;"><div class="wrap-wp"><div class="wrap_left"><div class="left-video"><div class="img-bg-ios-sh"></div><div class="phone-ios"><div class="video-wrap infor"><div class="video-control"></div><!-- ios视频位置 --><pre>https://mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/个性化地图@3xios.mp4</pre> | ||
− | </div><div class="video-icon-ios"><div class="play play-ios"></div><div class="stop stop-ios"></div></div></div><div class="progressWrap-hide-ios"></div><div id="videoControls-ios"><div id="progressWrap-ios"><div id="playProgress-ios"></div></div></div></div><div class="left-qrCode iosqrCode"><!-- ios二维码位置 --><div class="qrCode-ios">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/ioscodes/个性化地图@1xios.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- IOS使用产品下选项,可有多个 | + | </div><div class="video-icon-ios"><div class="play play-ios"></div><div class="stop stop-ios"></div></div></div><div class="progressWrap-hide-ios"></div><div id="videoControls-ios"><div id="progressWrap-ios"><div id="playProgress-ios"></div></div></div></div><div class="left-qrCode iosqrCode"><!-- ios二维码位置 --><div class="qrCode-ios">1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/ioscodes/个性化地图@1xios.png</div><div>扫码体验</div></div></div><div class="wrap_right"><div class="wrap_right_nav"><div class="wrap_right_nav_l"><div>使用产品</div><div><!-- IOS使用产品下选项,可有多个 --><div class="documentA">iOS地图SDK|/index.php?title=iossdk</div><!-- --><div>></div><div class="documentA">个性化地图|/index.php?title=iossdk/guide/create-map/custommap</div></div></div><div class="wrap_right_nav_r">下载源码</div><!-- IOS源码地址 --><div class="github-url-ios">//mapopen-website-wiki.bj.bcebos.com/BaiduMapSDKDemo.zip</div></div><div class="wrap_table"><div class="table_nav"><div class="left-icon"></div><div>核心接口</div></div><div class="table_wrap"><div class="table_wrap_title"><div>类</div><div>接口</div><div>描述</div></div><!-- ios表格接口内容,可有多个 --><!-- 表格接口,可有多个 --><div class="table_wrap_con"><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (void)setCustomMapStyleWithOption:(BMKCustomMapStyleOption *)option preLoad:(void (^)(NSString *path)) preLoadsuccess:(void (^)(NSString *path))success failure:(void (^)(NSError *error, NSString *path))failure</div></div><div><div>个性化样式加载接口</div></div></div><!-- --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (void)setCustomMapStyleEnable:(BOOL)enable;</div></div><div><div>个性化地图样式开关,仅影响当前BMKMapView对象,需在对象创建后调用</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKCustomMapStyleOption</div></div><div><div>customMapStyleID</div></div><div><div>个性化地图样式ID,可从<div style="display: inline;" class="documentA">百度地图开放平台控制台|/index.php?title=iossdk</div>获取个性化样式ID</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKCustomMapStyleOption</div></div><div><div>customMapStyleFilePath</div></div><div><div>个性化地图文件路径,通过id加载失败时,将会从本地加载此路径下的个性化样式</div></div></div></div></div></div></div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-nav"><div>1.示例中是本地样式加载,sty样式文件放在工程目录下</div></div><div class="pre-wrap"><div class="pre-wrap-nav"><div>Objective-C</div></div><div class="pre-wrap-w pre-wrap-w-ios code_container"><!-- ios示例代码位置 --><pre class="prettyprint prettyprinted pre-ios">/** 获取个性化地图存储路径. */ |
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"chuxing" ofType:@"sty"]; | NSString *filePath = [[NSBundle mainBundle] pathForResource:@"chuxing" ofType:@"sty"]; | ||
</pre> | </pre> |
2022年2月25日 (五) 17:43的最后版本
个性化地图
功能场景
示例说明了个性化地图的黑夜、白天样式如何在同一页面进行切换或者关闭个性化地图。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/个性化地图@android.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/个性化地图@2xanidroid.png
扫码体验
使用产品
Android地图SDK|/index.php?title=androidsdk
>
个性化地图|/index.php?title=androidsdk/guide/create-map/custommap
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/BaiduMapSDKExample.zip
核心接口
类
接口
描述
MapView
setMapCustomStylePath(String customStyleFilePath)
设置个性化地图样式文件的路径
ReverseGeoCodeOption
setMapCustomStyleEnable(boolean customMapStyleEnable)
动态设置个性化地图样式是否生效
核心代码
1.示例中是本地样式加载,sty样式存储在工程的assets文件下
JAVA
/** /** * 获取个性化地图存储路径 */ private String getCustomStyleFilePath(Context context, String customStyleFileName) { FileOutputStream outputStream = null; InputStream inputStream = null; String parentPath = null; try { inputStream = context.getAssets().open("customConfigdir/" + customStyleFileName); byte[] buffer = new byte[inputStream.available()]; inputStream.read(buffer); parentPath = context.getFilesDir().getAbsolutePath(); File customStyleFile = new File(parentPath + "/" + customStyleFileName); if (customStyleFile.exists()) { customStyleFile.delete(); } customStyleFile.createNewFile(); outputStream = new FileOutputStream(customStyleFile); outputStream.write(buffer); } catch (IOException e) { Log.e("CustomMapDemo", "Copy custom style file failed", e); } finally { try { if (inputStream!= null) { inputStream.close(); } if (outputStream!= null) { outputStream.close(); } } catch (IOException e) { Log.e("CustomMapDemo", "Close stream failed", e); return null; } } return parentPath + "/" + customStyleFileName; }
复制
深色
复制成功
2.设置个性化地图样式文件的路径并开启个性化
JAVA
// 获取路径 String customStyleFilePath = getCustomStyleFilePath(MainActivity.this, CUSTOM_FILE_NAME_GRAY); // 设置路径 mMapView.setMapCustomStylePath(customStyleFilePath); // 开启个性化 mMapView.setMapCustomStyleEnable(true);
复制
深色
复制成功