Android中Google地图标记(Marker)
2010-07-15 20:05:00 来源:WEB开发网同Polyline一样,地图标记Marker依旧没有出现在Android中的Map API中。自己动手实现了一个极其简单的Marker类,别的不多述,直接上代码。
package com.blogbus.westyi.overlay;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Point;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;
/**
* 地图标记层
*
* @author westyi
*
*/
public class Marker extends Overlay {
private GeoPoint point = null;// 要插入标记的经纬度位置
private Bitmap bmp = null; // 标记使用的图标
private Point deviation = null; // 图标绘制偏移量
/**
* 指定GeoPoint,图标Bitmap及图标偏移量Point构造Marker.
*
* @param point
* 放置图标的GeoPoint
* @param bmp
* 图标Bitmap
* @param deviation
* 图标位置偏移量,canvas画图从左向右,从上到下计算坐标,所以偏移值一般是负值
*/
public Marker(GeoPoint point, Bitmap bmp, Point deviation) {
this.point = point;
this.bmp = bmp;
this.deviation = deviation;
}
/**
* 绘制图标,注意图标位置偏移量及地图坐标转换
*/
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
if (!shadow) {// 不是绘制shadow层
Projection projection = mapView.getProjection();
if (point != null && bmp != null) {
Point pos = projection.toPixels(point, null);
//需要添加偏移量
canvas.drawBitmap(bmp, pos.x + deviation.x, pos.y + deviation.y, null);
}
}
}
}
- ››google的代码审查
- ››google analytics清晰追踪爬虫的爬行信息
- ››Google+中文用户在两千万Google+大军中是少数派
- ››Android开发经验谈之应用间数据共享
- ››android.hardware.USB类介绍
- ››Google AdWords最昂贵点击成本的20种关键词分类
- ››Android数据库SQLite性能优化技巧
- ››Android 2.3系统自带高清UI图标下载
- ››android_asset这个URL详细使用方法
- ››Android xliff和字符串资源
- ››Android Canvas绘图抗锯齿解决方法
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
更多精彩
赞助商链接