首页 文章

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

提问于
浏览
0

我需要在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 回答

  • 1

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

  • 0

    你只需要重复这一行:

    listOfOverlays.add(mapOverlay);
    

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

相关问题