第1行: | 第1行: | ||
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">地图选点</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">功能场景</div><div class="wrap-mi">网约车APP中支持用户通过滑动地图快速选择起终点。</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/地图选点.mp4</pre> | <div id="examples_center"><!-- 页面标题 --><div class="title-hd">地图选点</div><!-- 标题下子标题及简介,可有多个 --><div class="title-mi">功能场景</div><div class="wrap-mi">网约车APP中支持用户通过滑动地图快速选择起终点。</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/地图选点.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/地图选点.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/地图选点.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/search/geo</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">ReverseGeoCodeOption</div></div><div><div>location(LatLng location)</div></div><div><div>设置反地理编码位置坐标</div></div></div><!-- --><div class="table_wrap_w"><div><div class="table-wrap-className">ReverseGeoCodeOption</div></div><div><div>newVersion(int latestAdmin)</div></div><div><div>设置是否返回新数据0不返回,1返回默认值0</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">ReverseGeoCodeOption</div></div><div><div>radius(int radius)</div></div><div><div>设置POI召回半径</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">GeoCoder</div></div><div><div>newInstance()</div></div><div><div>创建地理编码查询实例</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">GeoCoder</div></div><div><div>reverseGeoCode(ReverseGeoCodeOption option)</div></div><div><div>发起反地理编码请求(经纬度->地址信息)</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">GeoCoder</div></div><div><div>setOnGetGeoCodeResultListener(OnGetGeoCoderResultListener listener)</div></div><div><div>设置查询结果回调</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">GeoCoder</div></div><div><div>destroy()</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" style="margin-left: 10px;"><div>务必在Activity的onDestroy函数里,调用MapView和GeoCoder的销毁方法,否则会有内存泄露。</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">@Override |
protected void onDestroy(){ | protected void onDestroy(){ | ||
super.onDestroy(); | super.onDestroy(); | ||
第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 class="more-nav"><div class="left-icon"></div><div>更多功能</div></div><div class="more-wrap"><!-- 安卓更多功能下选项 --><!-- 点标记动画|/index.php?title=test --><div><div class="point"></div><div class="documentA">周边检索|/index.php?title=androidsdk/guide/search/poi</div></div><div><div class="point"></div><div class="documentA">地点检索输入提示检索|/index.php?title=androidsdk/guide/search/suggestion</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>//mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/iOS地图选点.mov</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 class="more-nav"><div class="left-icon"></div><div>更多功能</div></div><div class="more-wrap"><!-- 安卓更多功能下选项 --><!-- 点标记动画|/index.php?title=test --><div><div class="point"></div><div class="documentA">周边检索|/index.php?title=androidsdk/guide/search/poi</div></div><div><div class="point"></div><div class="documentA">地点检索输入提示检索|/index.php?title=androidsdk/guide/search/suggestion</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>//mapopen-website-wiki.bj.bcebos.com/demos/iosVideos/iOS地图选点.mov</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/search/geo</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">BMKJumpingView</div></div><div><div>- (void)jump;</div></div><div><div>标注跳起动画</div></div></div><!-- --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKJumpingView</div></div><div><div>- (void)fall;</div></div><div><div>标注落下动画</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id<BMKAnnotation>)annotation;</div></div><div><div>向地图添加标注</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;</div></div><div><div>地图区域即将改变时会调用此接口</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;</div></div><div><div>地图区域改变完成后会调用此接口</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKReverseGeoCodeSearchOption</div></div><div><div>CLLocationCoordinate2D location</div></div><div><div>待解析的经纬度坐标(必选)</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKReverseGeoCodeSearchOption</div></div><div><div>BOOL isLatestAdmin</div></div><div><div>是否访问最新版行政区划数据(仅对中国数据生效)</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKGeoCodeSearch</div></div><div><div>- (BOOL)reverseGeoCode:(BMKReverseGeoCodeSearchOption*)reverseGeoCodeOption;</div></div><div><div>根据地理坐标获取地址信息</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKGeoCodeSearch</div></div><div><div>- (void)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher |
result:(BMKReverseGeoCodeSearchResult *)result | result:(BMKReverseGeoCodeSearchResult *)result | ||
errorCode:(BMKSearchErrorCode)error;</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-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">/** 添加BMKJumpingView. */ | errorCode:(BMKSearchErrorCode)error;</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-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">/** 添加BMKJumpingView. */ |
2022年2月25日 (五) 17:21的最后版本
地图选点
功能场景
网约车APP中支持用户通过滑动地图快速选择起终点。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/地图选点.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/地图选点.png
扫码体验
使用产品
Android地图SDK|/index.php?title=androidsdk
>
逆地理编码|/index.php?title=androidsdk/guide/search/geo
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/BaiduMapSDKExample.zip
核心接口
类
接口
描述
ReverseGeoCodeOption
location(LatLng location)
设置反地理编码位置坐标
ReverseGeoCodeOption
newVersion(int latestAdmin)
设置是否返回新数据0不返回,1返回默认值0
ReverseGeoCodeOption
radius(int radius)
设置POI召回半径
GeoCoder
newInstance()
创建地理编码查询实例
GeoCoder
reverseGeoCode(ReverseGeoCodeOption option)
发起反地理编码请求(经纬度->地址信息)
GeoCoder
setOnGetGeoCodeResultListener(OnGetGeoCoderResultListener listener)
设置查询结果回调
GeoCoder
destroy()
销毁函数
重点关注
务必在Activity的onDestroy函数里,调用MapView和GeoCoder的销毁方法,否则会有内存泄露。
JAVA
@Override protected void onDestroy(){ super.onDestroy(); if(null!= mGeoCoder){ mGeoCoder.destroy(); } if(null!= mMapView){ mMapView.onDestroy(); } }
复制
深色
复制成功
核心代码
1.发起逆地理编码请求
JAVA
/** /** * 逆地理编码请求 * @param latLng */ private void reverseRequest(LatLng latLng){ if(null == latLng){ return; } ReverseGeoCodeOption reverseGeoCodeOption = new ReverseGeoCodeOption().location(latLng) .newVersion(1) .radius(sDefaultRGCRadius) .pageNum(mLoadIndex); if(null == mGeoCoder){ mGeoCoder = GeoCoder.newInstance(); } mGeoCoder.setOnGetGeoCodeResultListener(this); mGeoCoder.reverseGeoCode(reverseGeoCodeOption); }
复制
深色
复制成功
2.逆地理编码请求回调处理
JAVA
/** @Override public void onGetReverseGeoCodeResult(final ReverseGeoCodeResult reverseGeoCodeResult) { if (null == reverseGeoCodeResult) { return; } mHandler.post(new Runnable() { @Override public void run() { updateUI(reverseGeoCodeResult); } }); }
复制
深色
复制成功
更多功能
周边检索|/index.php?title=androidsdk/guide/search/poi
地点检索输入提示检索|/index.php?title=androidsdk/guide/search/suggestion