当我使用叠加在谷歌地图上绘制文字/图标时,我遇到了一个问题。它只能绘制文本而不能绘制图标。但是对于文本,当我平移地图(移动地图)时,测试停留在同一个地方(实际上,在移动地图时,文本不能水平移动但可以垂直移动)。 这是我的代码:
class myRecommendationOverlay extends Overlay
{
List<Restaurant> restlist = new ArrayList<Restaurant>() ;
public void setRestlist(List<Restaurant> ls)
{
restlist = ls;
}
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
if(restlist.size() != 0)
{
for(int i = 0; i < restlist.size(); i++)
{
Point restaurantPoint = new Point();
GeoPoint tempPoint = new GeoPoint((int)(((Restaurant)restlist.get(i)).getLatitude()*1E6),(int)(((Restaurant)restlist.get(i)).getLongitude()*1E6));
mapView.getProjection().toPixels(tempPoint, restaurantPoint);
Paint mPaint = new Paint();
mPaint.setStrokeWidth(1);
mPaint.setARGB(255, 0, 0, 0);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setTextAlign(Paint.Align.CENTER);
//Bitmap restIcon = BitmapFactory.decodeResource(getResources(), R.drawable.restaurant);
//canvas.drawBitmap(restIcon,restaurantPoint.x, restaurantPoint.y, null);
canvas.drawText(((Restaurant)restlist.get(i)).getName(), restaurantPoint.x , restaurantPoint.y, mPaint);
}
}
return true;
}
}
谢谢大家。