`
wen742538485
  • 浏览: 238907 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 使用百度地图画轨迹

阅读更多


import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.graphics.Point;
import android.os.Bundle;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;
import com.baidu.mapapi.Overlay;
import com.baidu.mapapi.Projection;

public class BaiduMapActivity extends MapActivity {
        private Context mContext;
        private MapView mapView;
        @Override
        protected boolean isRouteDisplayed() {
                // TODO Auto-generated method stub
                return false;
        }
        private GeoPoint gpoint1, gpoint2, gpoint3;// 连线的点
        @Override
        protected void onCreate(Bundle arg0) {
                super.onCreate(arg0);
                setContentView(R.layout.baidumap_layout);

                BaseApplication baseApp = (BaseApplication) this.getApplication();
                if (baseApp.mBMapManage == null) {
                        baseApp.mBMapManage = new BMapManager(mContext);
                        baseApp.mBMapManage.init(baseApp.mStrKey,
                                        new BaseApplication.MyGeneralListener());
                }
                baseApp.mBMapManage.start();
                super.initMapActivity(baseApp.mBMapManage);// 初始化map sdk
                mapView = (MapView) findViewById(R.id.bmapView);
                mapView.setBuiltInZoomControls(true);
                // 设置在缩放动画过程中也显示overlay,默认为不绘制
                mapView.setDrawOverlayWhenZooming(true);

                // RouteLine routeLine =
                // (RouteLine)getIntent().getSerializableExtra("routeLine");

                //这里画点和连接线
                MyOverlay myOverlay = new MyOverlay();
                mapView.getOverlays().add(myOverlay);
               
                MapController mapController = mapView.getController();
                mapController.zoomIn();
               
                gpoint1 = new GeoPoint((int) (2259316 * 10),
                                (int) (11396279 * 10));
                gpoint2 = new GeoPoint((int) (2259245 * 10),
                                (int) (11396226 * 10));
                gpoint3 = new GeoPoint((int) (2259121 * 10),
                                (int) (11396066 * 10));               
                mapController.animateTo(gpoint1);//设置一个起点
        }

        class MyOverlay extends Overlay {

                @Override
                public void draw(Canvas canvas, MapView mapView, boolean shadow) {
                        super.draw(canvas, mapView, shadow);
                       
                        Projection projection = mapView.getProjection();
                        Point p1 = new Point();
                        Point p2 = new Point();
                        Point p3 = new Point();
                        // 经度转像素
                        projection.toPixels(gpoint1, p1);
                        projection.toPixels(gpoint2, p2);
                        projection.toPixels(gpoint3, p3);
               
                        //第一个画笔 画圆
                        Paint fillPaint = new Paint();
                        fillPaint.setColor(Color.BLUE);
                        fillPaint.setAntiAlias(true);
                        fillPaint.setStyle(Style.FILL);
                       
                        // 将图画到上层
                        canvas.drawCircle(p1.x, p1.y, 5.0f, fillPaint);
                        canvas.drawCircle(p2.x, p2.y, 5.0f, fillPaint);
                        canvas.drawCircle(p3.x, p3.y, 5.0f, fillPaint);

                        //第二个画笔 画线
                        Paint paint = new Paint();
                        paint.setColor(Color.BLUE);
                        paint.setDither(true);
                        paint.setStyle(Paint.Style.STROKE);
                        paint.setStrokeJoin(Paint.Join.ROUND);
                        paint.setStrokeCap(Paint.Cap.ROUND);
                        paint.setStrokeWidth(4);

                        //连接
                        Path path = new Path();
                        path.moveTo(p1.x, p1.y);
                        path.lineTo(p2.x, p2.y);
                        path.lineTo(p3.x, p3.y);
                        //画出路径
                        canvas.drawPath(path, paint);
                }
        }

}
  • 大小: 9.8 KB
分享到:
评论

相关推荐

    Android百度地图画运动轨迹和GPS定位

    综上所述,"Android百度地图画运动轨迹和GPS定位"这个项目涵盖了Android原生开发、百度地图API的使用、GPS定位技术、图形绘制、用户交互设计等多个方面,是一个综合性的实践练习,有助于提升Android开发者在地理位置...

    百度地图画轨迹

    在"百度地图画轨迹"这个功能中,我们主要关注的是Android SDK和iOS SDK,因为它们支持在原生应用中直接绘制轨迹。 1. **轨迹数据获取**:在绘制轨迹前,我们需要收集用户的运动数据,这通常通过GPS定位系统实现。...

    Android百度地图Marker轨迹坐标连线

    总的来说,"Android百度地图Marker轨迹坐标连线"这个项目涵盖了Android地图开发的基础和进阶技巧,包括地图集成、Marker和Polyline的使用,以及动态数据处理。通过学习和实践这个demo,开发者能够掌握在Android应用...

    Android-BaiduMapTrace百度地图运动轨迹纠偏去噪绑路百度鹰眼sdk服务详细介绍

    在Android开发中,使用百度地图API能够为应用增添丰富的地理定位和导航功能。"BaiduMapTrace"项目是专门针对运动轨迹处理的一个工具,它利用百度鹰眼(Eagle Eye)SDK服务,提供了轨迹纠偏、去噪和绑路等功能,以...

    基于Java与Android的百度地图运动轨迹纠偏与去噪设计实现

    总结起来,基于Java与Android的百度地图运动轨迹纠偏与去噪设计实现,涉及到多方面的技术,包括地图API的使用、GPS数据处理、算法应用、Android应用开发以及用户体验设计等。开发者需要结合理论知识与实践经验,才能...

    Android百度地图轨迹回放

    点击播放按钮可以进行轨迹回放,下方有ProgressBar同步显示进度。...下载后去AndroidMainfest里面把value改成自己在百度地图开发者平台申请的key,不过不改也不会影响绘制,只是地图显示的是方格。

    baiduMapTest android 百度地图轨迹

    在Android平台上,开发一款应用来实现百度地图的功能,如记录轨迹、显示路线和处理坐标,是常见的需求。本文将深入探讨这些知识点,并提供相应的技术实现。 首先,我们要了解`百度地图SDK`。百度地图提供了丰富的...

    android 百度地图demo 在地图上划出轨迹

    根据提供的文件信息,我们可以归纳出以下关于“在Android百度地图Demo中绘制轨迹”的知识点: ### 一、背景介绍 在Android应用开发过程中,特别是在需要地理定位功能的应用中,地图服务是必不可少的一部分。百度...

    基于百度地图的轨迹显示

    【基于百度地图的轨迹显示】是一个Android应用的实例,它展示了如何在百度地图API上实现用户的运动轨迹可视化。这个demo的目的是帮助开发者了解如何利用百度地图服务来收集、存储和展示用户的位置数据,特别是在运动...

    Android百度地图 线路规划,模拟运动轨迹,及全景效果源码

    在Android百度地图API中,开发者可以实现起点到终点的最优路径搜索,包括驾车、步行、骑行等多种出行方式。这涉及到地理编码(将地址转化为经纬度坐标)、反地理编码(将经纬度转化为地址)以及路径规划算法。通过...

    android 百度地图sdk v3.4 绘制历史轨迹

    在Android平台上,使用百度地图...总之,使用Android百度地图SDK V3.4绘制历史轨迹涉及到地图初始化、坐标解析、轨迹线绘制以及可能的动画效果和用户交互处理。遵循上述步骤,你可以创建出一个功能完善的轨迹展示应用。

    利用百度地图实现路书实时轨迹边走边划

    可以使用百度地图SDK提供的绘图工具,例如在Android和iOS中创建Overlay对象,在Web端使用Marker和Polyline对象。 5. **优化轨迹展示**:为了提高用户体验,可能需要对轨迹进行平滑处理,去除因定位误差导致的抖动。...

    百度地图轨迹回放

    本主题聚焦于“百度地图轨迹回放”,它允许用户查看并播放他们在地图上记录的移动路径。以下是对这一技术的详细解释: 一、轨迹回放原理 轨迹回放功能基于GPS数据或其他定位服务收集的地理位置信息,将这些点按时间...

    百度地图:行走轨迹,轨迹回放

    本项目主要聚焦于百度地图API的使用,特别是针对“行走轨迹”和“轨迹回放”这两个关键功能的实现。 首先,我们要了解的是“百度地图SDK”。SDK,全称为Software Development Kit,是一系列开发工具的集合,它为...

    android开发百度地图画线功能

    在Android开发中,集成百度地图并实现画线功能是一项常用且重要的任务,它可以帮助用户在地图上直观地展示路径或轨迹。本实例将探讨如何在Android应用中利用百度地图API来实现在地图上画线的功能。 首先,我们需要...

    基于百度地图实现的轨迹回放

    除了Web端,百度地图也提供了Android和iOS SDK,使得轨迹回放功能能在移动设备上实现。需要注意的是,移动端要考虑内存和性能限制,以及不同设备的屏幕尺寸和操作方式,进行相应的适配和优化。 综上所述,"基于百度...

    android 百度定位、离线地图、测量、运动轨迹doem基于百度地图的部分功能

    在Android开发中,百度地图API提供了丰富的功能,包括定位、离线地图、测量以及运动轨迹绘制等。这些功能使得开发者可以构建出具有专业地理信息处理能力的应用。在使用百度地图API时,尤其对于Android 6.0及以上版本...

    android+eclipse开发百度地图的轨迹跟踪及轨迹的回放功能

    这就是使用Android+Eclipse开发百度地图轨迹跟踪和回放功能的基本步骤。实际开发中,可能还需要考虑性能优化、异常处理、用户交互设计等更多细节。希望这个教程能对你有所帮助,让你的项目更加完善。

    安卓百度地图marker实现类平滑移动

    以下将详细讲解如何在Android中使用百度地图API实现Marker的平滑移动。 首先,我们需要在项目中集成百度地图SDK。这通常通过在build.gradle文件中添加依赖来完成,例如: ```groovy dependencies { ...

    百度 地图 历史轨迹回放

    总的来说,实现“百度地图历史轨迹回放”涉及到地图API的使用、数据解析、时间调度和用户交互等多个方面,是一个综合性的编程挑战。通过这个项目,开发者不仅能提升地图服务开发的能力,还能深入理解Java的并发编程...

Global site tag (gtag.js) - Google Analytics