我在地图中需要两个叠加项目。我使用以下代码来获取叠加层
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();
以下代码在创建部分。从这段代码我只能得到一个叠加。我可以用它来获得另一个叠加吗?我想要两个叠加,我怎么能从这个代码中得到另一个?
答案 0 :(得分:1)
您可以在MapOverlay
上添加List<Overlay>
listOfOverlays.add(mapOverlay);
来使用两个/多个叠加层。要了解有关在Android地图中添加地图叠加层的更多信息,请查看答案Here
答案 1 :(得分:0)
你只需要重复这一行:
listOfOverlays.add(mapOverlay);
每次你想为mapview添加另一个叠加层。