我需要在map中使用两个叠加项 . 我使用以下代码来获取叠加层
enter code here class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean draw(Canvas canvas, MapView mapView,
boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
Paint paint = new Paint();
//---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
// mapView.getProjection().toPixels(p1, screenPts);
paint.setStrokeWidth(1);
paint.setARGB(255, 255, 00, 00);
paint.setStyle(Paint.Style.STROKE);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(
getResources(), R.drawable.marker);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y, paint);
canvas.drawText("Here I am...", screenPts.x, screenPts.y, paint);
return true;
}
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
mapView.invalidate();
下面的代码在创建部分 . 从这段代码我只能得到一个叠加 . 我可以用它来获得另一个叠加吗?我想要两个叠加,我怎么能从这个代码得到另一个?
2 回答
您可以通过在
List<Overlay>
上添加MapOverlay
作为listOfOverlays.add(mapOverlay);
来使用两个/多个叠加层 . 要了解有关在android Map 中添加Map overlay的更多信息,请查看答案Here你只需要重复这一行:
每次你想为mapview添加另一个叠加层 .