[百度地图]修改我的位置的图标(附源码)

来源:互联网 发布:印刷软件管理 编辑:程序博客网 时间:2024/05/16 16:07
之前在网上看到有人写过这个教程,但是给的代码都一块一块的,没有给源码,看得非常辛苦,这让我们这些初学者情何以堪
自己研究好久终于研究出来了,在这里分享给大家!(转载请注明谢谢!)

开始没有修改时:
豌豆荚截图20130222151148.png 

主要是要自定一个内部类继承自MyLocationOverlay

        // 自定义myloactionoverlay        public class MyOverLay extends MyLocationOverlay {
                public Bitmap bitmap;

                public void setBitmap(Bitmap bitmap) {
                        this.bitmap = bitmap;
                }

                public MyOverLay(Context arg0, MapView arg1) {
                        super(arg0, arg1);
                        // TODO Auto-generated constructor stub
                }

                // 重写描绘我的位置的方法
                @Override
                protected void drawMyLocation(Canvas canvas, MapView mapView,
                                Location location, GeoPoint geoPoint, long when) {

                        try {
                                Projection projection = mapView.getProjection();
                                Point point = new Point();
                                projection.toPixels(geoPoint, point);

                                // point获取到的是我们在屏幕上的点.而我们要显示的图标应该在这个点的正上方
                                int x = point.x - bitmap.getWidth();
                                int y = point.y - bitmap.getHeight();
                                canvas.drawBitmap(bitmap, x, y, new Paint());

                        } catch (Exception e) {
                                // TODO: handle exception
                                super.drawMyLocation(canvas, mapView, location, geoPoint, when);
                        }

                }
        } 

然后添加一个方法进行实例化,传入bitmap
//添加自己定义的overlay
        public void addMyOverLay() {
                myOverLay = new MyOverLay(this, mapView);
                Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                                R.drawable.p);//自定义图标
                myOverLay.setBitmap(bitmap);
                mapView.getOverlays().add(myOverLay);//把我的位置加入地图

        }

其他都是原来的百度定位的一些方法不用变

效果:
豌豆荚截图20130222151220.png 


这样那个蓝色标志就变成了QQ了

如果对你有帮助请顶贴..........
源码回复可见:

本帖隐藏的内容

 BaiduMap.rar (2.24 MB, 下载次数: 105)
原创粉丝点击