浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
 
第1行: 第1行:
 
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">Overlay点击选中</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/Overlay点击选中@android.mp4</pre>
 
<div id="examples_center"><!-- 页面标题 --><div class="title-hd">Overlay点击选中</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/Overlay点击选中@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/Overlay点击选中@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><!-- 安卓使用产品下选项,可有多个 --><!-- 产品1|/index.php?title=test --><div class="documentA">Android地图SDK|/index.php?title=androidsdk</div><div>></div><div class="documentA">绘制弧线和面|/index.php?title=androidsdk/guide/render-map/ploygon</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">DistrictSearch</div></div><div><div>searchDistrict (DistrictSearchOption option)</div></div><div><div>检索行政区</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">DistrictSearch</div></div><div><div>setOnDistrictSearchListener(OnGetDistrictSearchResultListener districtResultListener)</div></div><div><div>设置检索结果回调</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">DistrictSearchOption</div></div><div><div>cityName(String city)</div></div><div><div>设置检索城市</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">DistrictSearchOption</div></div><div><div>districtName(String district)</div></div><div><div>搜索行政区</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">SpatialRelationUtil</div></div><div><div>searchDistrictisPolygonContainsPoint(List&lt;Latlng&gt; list, Latlng latlng)</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 style="line-height: 24px;">检索完成后,需要调用PoiSearch的destroy()方法,否则会有内存泄露。</div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-nav"><div>1.发起检索请求</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">// 发起请求
+
</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/Overlay点击选中@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/render-map/ploygon</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">DistrictSearch</div></div><div><div>searchDistrict (DistrictSearchOption option)</div></div><div><div>检索行政区</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">DistrictSearch</div></div><div><div>setOnDistrictSearchListener(OnGetDistrictSearchResultListener districtResultListener)</div></div><div><div>设置检索结果回调</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">DistrictSearchOption</div></div><div><div>cityName(String city)</div></div><div><div>设置检索城市</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">DistrictSearchOption</div></div><div><div>districtName(String district)</div></div><div><div>搜索行政区</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">SpatialRelationUtil</div></div><div><div>searchDistrictisPolygonContainsPoint(List&lt;Latlng&gt; list, Latlng latlng)</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 style="line-height: 24px;">检索完成后,需要调用PoiSearch的destroy()方法,否则会有内存泄露。</div></div><div class="pre-nav"><div class="left-icon"></div><div>核心代码</div></div><div class="pre-nav"><div>1.发起检索请求</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">// 发起请求
 
mDistrictSearch.searchDistrict(new DistrictSearchOption().cityName(city).districtName(district));
 
mDistrictSearch.searchDistrict(new DistrictSearchOption().cityName(city).districtName(district));
 
      
 
      
第55行: 第55行:
 
                 </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/render-map/ployline</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/Overlay点击选中@2xios.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 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/render-map/ployline</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/Overlay点击选中@2xios.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/Overlay点击选中@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使用产品下选项,可有多个 --><!-- 产品1|/index.php?title=test --><div class="documentA">iOS地图SDK|/index.php?title=iossdk</div><!--  --><div>></div><div class="documentA">控件与手势|/index.php?title=iossdk/guide/interaction/gesture</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>- (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id&lt;BMKOverlay&gt;)overlay;</div></div><div><div>根据overlay生成对应的View</div></div></div><!--  --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;</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 onClickedMapPoi:(BMKMapPoi *)mapPoi;</div></div><div><div>点中底图标注后会回调此接口</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKOverlayClickedViewController</div></div><div><div>- (void)onClickMap:(CLLocationCoordinate2D)coordinate</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.点击地图空白或标注事件处理</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">- (void)onClickMap:(CLLocationCoordinate2D)coordinate {
+
</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/Overlay点击选中@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/interaction/gesture</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>- (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id&lt;BMKOverlay&gt;)overlay;</div></div><div><div>根据overlay生成对应的View</div></div></div><!--  --><div class="table_wrap_w"><div><div class="table-wrap-className">BMKMapView</div></div><div><div>- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;</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 onClickedMapPoi:(BMKMapPoi *)mapPoi;</div></div><div><div>点中底图标注后会回调此接口</div></div></div><div class="table_wrap_w"><div><div class="table-wrap-className">BMKOverlayClickedViewController</div></div><div><div>- (void)onClickMap:(CLLocationCoordinate2D)coordinate</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.点击地图空白或标注事件处理</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">- (void)onClickMap:(CLLocationCoordinate2D)coordinate {
 
     if (CLLocationCoordinate2DIsValid(coordinate)) {
 
     if (CLLocationCoordinate2DIsValid(coordinate)) {
 
         // 经纬度转BMKMapPoint
 
         // 经纬度转BMKMapPoint

2022年2月25日 (五) 17:48的最后版本

Overlay点击选中
功能场景
支持开发者选中目标路线、多边形区域,常用于路线切换、检索等场景。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/Overlay点击选中@android.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/newqrcodes/Overlay点击选中@2xanidroid.png
扫码体验
使用产品
Android地图SDK|/index.php?title=androidsdk
>
绘制弧线和面|/index.php?title=androidsdk/guide/render-map/ploygon
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/BaiduMapSDKExample.zip
核心接口
接口
描述
DistrictSearch
searchDistrict (DistrictSearchOption option)
检索行政区
DistrictSearch
setOnDistrictSearchListener(OnGetDistrictSearchResultListener districtResultListener)
设置检索结果回调
DistrictSearchOption
cityName(String city)
设置检索城市
DistrictSearchOption
districtName(String district)
搜索行政区
SpatialRelationUtil
searchDistrictisPolygonContainsPoint(List<Latlng> list, Latlng latlng)
返回一个点是否在多边形内
重点关注
检索完成后,需要调用PoiSearch的destroy()方法,否则会有内存泄露。
核心代码
1.发起检索请求
JAVA
// 发起请求
mDistrictSearch.searchDistrict(new DistrictSearchOption().cityName(city).districtName(district));
     
                
复制
深色
复制成功
2.检索结果回调处理
JAVA
@Override
public void onGetDistrictResult(DistrictResult districtResult) {
    mBaiduMap.clear();
    if (districtResult == null) {
        return;
    }
    if (districtResult.error == SearchResult.ERRORNO.NO_ERROR) {
        List<List<LatLng>> polyLines = districtResult.getPolylines();
        if (polyLines == null) {
            return;
        }
        mLatLngList = polyLines;
        //画出行政区多边形
        LatLngBounds.Builder builder = new LatLngBounds.Builder();
        for (List<LatLng> polyline: polyLines) {
            OverlayOptions ooPolyline = new PolylineOptions().width(10).points(polyline).dottedLine(true).color(0xAA00FF00);
            mBaiduMap.addOverlay(ooPolyline);
            OverlayOptions ooPolygon = new PolygonOptions().points(polyline).stroke(new Stroke(5, 0xAA00FF88))
                    .fillColor(0xAAFFFF00);
            Polygon polygon = (Polygon) mBaiduMap.addOverlay(ooPolygon);
            polygonList.add(polygon);
            for (LatLng latLng: polyline) {
                builder.include(latLng);
            }
        }
        mBaiduMap.setMapStatus(MapStatusUpdateFactory.newLatLngBounds(builder.build()));
        MapStatus.Builder mapBuilder = new MapStatus.Builder();
        mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(mapBuilder.zoom(11).build()));
    }
}
                
                
复制
深色
复制成功
3.判断是否在行政区内
JAVA
for (List<LatLng> list: mLatLngList) {
    // 判断点是否在多边形内
    boolean isPolygonContains = SpatialRelationUtil.isPolygonContainsPoint(list, point);
    if (isPolygonContains) {
        //更换颜色
        OverlayOptions ooPolygon = new PolygonOptions().points(list).stroke(new Stroke(5, 0xAA00FF88))
                .fillColor(0xAAFF7700);
        Polygon polygon = (Polygon) mBaiduMap.addOverlay(ooPolygon);
        polygonList.add(polygon);
    } else {
        OverlayOptions ooPolygon = new PolygonOptions().points(list).stroke(new Stroke(5, 0xAA00FF88))
                .fillColor(0xAAFFFF00);
        Polygon polygon = (Polygon) mBaiduMap.addOverlay(ooPolygon);
        polygonList.add(polygon);
    }
}
            
                
复制
深色
复制成功
更多功能
绘制线|/index.php?title=androidsdk/guide/render-map/ployline
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消