point.setLongitutde(cursor.getDouble(2));
Log.d("route",point.toString());
return point;
}
}
3.POJO类:
[java]
package com.example.touchpoint;
public class LocationPoint {
private long _id;
private double latitude;
private double longitutde;
public long get_id() {
return _id;
}
public void set_id(long _id) {
this._id = _id;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitutde() {
return longitutde;
}
public void setLongitutde(double longitutde) {
this.longitutde = longitutde;
}
@Override
public String toString() {
return "LocationPoint [_id=" + _id + ", latitude=" + latitude
+ ", longitutde=" + longitutde + "]";
}
}
4.ItemizedOverlay类
[java]
package com.example.touchpoint;
import java.util.ArrayList;
import java.util.List;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.util.Log;
import com.amap.mapapi.core.GeoPoint;
import com.amap.mapapi.core.OverlayItem;
import com.amap.mapapi.map.ItemizedOverlay;
import com.amap.mapapi.map.Projection;
public class RouteItemizedOverlay extends ItemizedOverlay
private List
public RouteItemizedOverlay(Drawable d) {
super(boundCenterBottom(d));
}
@Override
protected OverlayItem createItem(int id) {
return list.get(id);
}
@Override
public int size() {
return list.size();
}
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
Projection proj = mapView.getProjection();
Path path = new Path();
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.BLUE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(3);
for (int i = 0; i < this.size(); i++) {
OverlayItem item = (OverlayItem)createItem(i);
GeoPoint gp = item.getPoint();
Log.d("aa",gp.getLatitudeE6() +" " + gp.getLongitudeE6());
Point mPoint = new Point();
proj.toPixels(gp, mPoint);
if(i == 0) {
path.moveTo(mPoint.x, mPoint.y);
Log.d("path","[" + mPoint.x + "," + mPoint.y+ "]");
}else{
path.lineTo(mPoint.x, mPoint.y);
Log.d("path","[" + mPoint.x + "," + mPoint.y+ "]");
}
//canvas.drawText("ca", mPoint.x, mPoint.y, new Paint());
}
path.close();
canvas.drawPath(path, paint);
super.draw(canvas, mapView, shadow);
}
public void addMyRoute(List
for(LocationPoint point : points) {
GeoPoint gp = new GeoPoint((int)(point.getLatitude()*1E6),(int)(point.getLongitutde()*1E6));
OverlayItem myItem = new OverlayItem(gp, "title", "snippet");