如何在一个Activity中创建两个MapView?

8

是否可以在一个Activity中创建两个MapView?

如果可以,怎么做呢?

我尝试过了,但没有成功。

提前感谢。

2个回答

4
短答案是“不行”。目前Android仅支持每个MapActivity一个MapView。

@Reto Meier,如何在一个FragmentActivity中使用两个SupportMapFragment?我尝试了一下,但是出现了这种问题。http://stackoverflow.com/questions/22946152/using-two-supportmapfragment-in-one-activity-but-unable-remove-marker-from-secon - Herry

0

是可以的,我用这段代码来处理两种不同类型的地图——1. 获取 GPS 位置——2. 当通过区域/城市/国家名称搜索某个位置时获取该位置。代码如下:

    public void mapDisplay(double lat, double lng, int arg){

        if(arg == 1){
            mapView = (MapView)findViewById(R.id.map_view);
        }
        else if (arg ==2 ){
            mapView = (MapView)findViewById(R.id.map_view2);

        }

        mapView.setBuiltInZoomControls(true);

        //mapView.setStreetView(true);
        //mapView.setTraffic(true);
        //mapView.setSatellite(true);

        // to display the pin point
        List<Overlay> mapOverlays = mapView.getOverlays();
        Drawable drawable = this.getResources().getDrawable(R.drawable.icon);
        CustomItemizedOverlay itemizedOverlay = new CustomItemizedOverlay(drawable, this);

        GeoPoint point = new GeoPoint((int) (lat * 1E6), (int)(lng * 1E6));

        OverlayItem overlayitem = new OverlayItem(point, "", "");
        itemizedOverlay.addOverlay(overlayitem);
        mapOverlays.add(itemizedOverlay);

        mapView.getController().setZoom(18);
        mapView.getController().setCenter(point);
        mapView.getController().animateTo(point);

        mapView.invalidate();

 }

注意:在调用此方法之前,请确保已设置了ContentViews。

int arg

在这里使用 int arg 来指示将要调用哪个地图视图......我使用了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接