[百度地图]修改我的位置的图标(附源码)
来源:互联网 发布:印刷软件管理 编辑:程序博客网 时间:2024/05/16 16:07
之前在网上看到有人写过这个教程,但是给的代码都一块一块的,没有给源码,看得非常辛苦,这让我们这些初学者情何以堪
自己研究好久终于研究出来了,在这里分享给大家!(转载请注明谢谢!)
开始没有修改时:
主要是要自定一个内部类继承自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);//把我的位置加入地图
}
其他都是原来的百度定位的一些方法不用变
效果:
这样那个蓝色标志就变成了QQ了
如果对你有帮助请顶贴..........
源码回复可见:
自己研究好久终于研究出来了,在这里分享给大家!(转载请注明谢谢!)
开始没有修改时:
主要是要自定一个内部类继承自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);//把我的位置加入地图
}
其他都是原来的百度定位的一些方法不用变
效果:
这样那个蓝色标志就变成了QQ了
如果对你有帮助请顶贴..........
源码回复可见:
- [百度地图]修改我的位置的图标(附源码)
- 百度地图Android sdk开发笔记五修改定位位置的图标
- 百度地图 修改定位图标 替换自己的图标
- HTML5学习---百度地图修改Marker图标大小的方法
- 百度地图的自定义图标
- 百度地图最新版本sdk使用系列(二)-修改百度地图的默认中心位置
- 百度地图的经纬度位置
- android 百度地图marker 设置锚点 让图标的下方尖尖指向实际位置
- 百度地图实现公司位置的定位,可拖动修改公司位置。
- 百度地图使用 自定义标注的图标
- 百度地图使用 自定义标注的图标
- 隐藏百度地图的logo图标
- 一个基于百度地图的桌面软件(附工程源码)
- 关于百度地图显示自己的位置
- 百度地图不能定位自己的位置
- 百度地图 显示准确的位置
- 使用百度地图 显示自己的位置
- Android百度地图显示附近的位置
- /etc/skel
- 嵌入式学习笔记(11)——51单片机之中断(串口通信)
- 位图法实现文件内容的排序
- IA32 vs IA64 VS ix86
- 简单的TCP-Client
- [百度地图]修改我的位置的图标(附源码)
- 简单的TCP-Server2
- android 兼容包(可兼容低版本系统)
- java 录音机
- [转]搜索引擎岗位应聘必备题
- Linux的线程——轻进程
- 简单的TCP-Select
- \tutorial_code\ImgProc\Smoothing.cpp
- Memcachedb环境搭建及访问