如何在android地图中使用两个叠加层

时间:2012-09-26 15:55:06

标签: android google-maps overlay

我在地图中需要两个叠加项目。我使用以下代码来获取叠加层

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 个答案:

答案 0 :(得分:1)

您可以在MapOverlay上添加List<Overlay> listOfOverlays.add(mapOverlay);来使用两个/多个叠加层。要了解有关在Android地图中添加地图叠加层的更多信息,请查看答案Here

答案 1 :(得分:0)

你只需要重复这一行:

listOfOverlays.add(mapOverlay); 

每次你想为mapview添加另一个叠加层。