百度地图 覆盖物类

本文详细介绍了BMapManager作为百度引擎的管理工具在地图应用中的作用,以及MapView作为显示地图的核心类如何通过MKMapViewListener、MapController等组件实现地图的交互与控制。重点阐述了地图覆盖物的概念及其种类,如几何图形绘制、文字绘制、分条目覆盖物等,并通过代码实例展示了如何绘制圆等几何图形,深入探讨了地图覆盖物在地图应用中的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

BMapManager:百度引擎的管理工具。

MapView:显示地图的类,它的父类是ViewGroup.

MapView MKMapViewListener

MapController:对当前地图进行控制:缩放、旋转、平移。


所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线和多边形和圆)、定位图标等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的处理。

覆盖物包括:

覆盖物的抽象基类:Overlay(核心类),第四个核心类

几何图形绘制覆盖物:GraphicsOverlay

文字绘制覆盖物:TextOverlay

分条目覆盖物:ItemizedOverlay

本地搜索覆盖物:PoiOverlay

路线规划覆盖物:RouteOverlay

换乘路线覆盖物:TransitOverlay

我的位置覆盖物:MyLocationOverlay



 


代码如下:


 


 


public classGraphicsOverlayActivity extends BaseActivity {


    @Override


    protected void onCreate(BundlesavedInstanceState) {


        super.onCreate(savedInstanceState);


        draw();


    }


 


    /**


     * 绘制几何图形


     */


    private void draw() {


        //1.得到所有的覆盖物的集合mapview;


         List<Overlay> overlays = mapView.getOverlays();


       


        //2.创建自己的覆盖物,添加到集合中


         GraphicsOverlay overlay = new GraphicsOverlay(mapView);


         //关于集合图形的设置


         setData(overlay);


         overlays.add(overlay);


         


        //3.刷新页面


         mapView.refresh();


       


    }


 


    /**


     * 绘制一个圆


     * @param overlay


     */


    private void setData(GraphicsOverlayoverlay) {


       


        //1.定义几何图形:圆心和半径


        //几何


        Geometry geometry = new Geometry();


       


        /**


         *     geoPoint - 地理坐标


              radius - 圆的半径,单位:米


         */


        geometry.setCircle(point, 1000);


       


        //2.样式:颜色、是否填充、绘制圆形是的线条的粗心


        //符号


        Symbol symbol = new Symbol();


        /**


         *  color- 颜色


           status - 填充状态,0表示不填充,1表示填充


           linewidth - 线宽,当填充状态为填充时线宽无意义


         */


        Symbol.Color color=symbol.new Color();


        color.red = 255;


        color.green = 0;


        color.blue = 0;


        color.alpha = 100;


       


        symbol.setSurface(color,1, 5);


       


        //图形


        Graphic graphic = new Graphic(geometry, symbol);


        overlay.setData(graphic);


       


    }


 


}










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值