在Android MapsV2中以编程方式创建MapView

时间:2014-08-11 10:00:37

标签: android google-maps-api-3 android-maps-v2

Android:创建地图时 我正在获取空白页面。我还有一个有效的API密钥并在Manifest中设置它。 我的活动。

        relativeLayout = new RelativeLayout(context);
        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
        relativeLayout.setLayoutParams(layoutParams);
        GoogleMapOptions googleMapOptions = new GoogleMapOptions();
        googleMapOptions.mapType(GoogleMap.MAP_TYPE_NORMAL)
                .compassEnabled(false).rotateGesturesEnabled(false)
                .tiltGesturesEnabled(false);

        googleMapOptions.camera(new CameraPosition(new LatLng(0, 0), 3, 0,
                0));
        mapView = new MapView(context, googleMapOptions);


        mapView.onCreate(new Bundle());
        relativeLayout.addView(mapView);

        Double[][] latlang = mapData.getLatlang();

        marker = new Marker[mapData.getLatlang().length];
        for (int i = 0; i < mapData.getLatlang().length; i++) {
            this.marker[i] = mapView.getMap()
                    .addMarker(
                            new MarkerOptions()
                                    .position(
                                            new LatLng(latlang[i][0],
                                                    latlang[i][1]))
                                    .title(" ")
                                    .snippet(" "));
        }

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,因为我在Fragment中创建了MapView,忘了将onResume方法添加到片段代码中。

        mapView map = new MapView(getActivity(), options));
        map.setClickable(true);
        map.onCreate(savedInstanceState);
        map.onResume();

希望这有助于某人

答案 1 :(得分:0)

在此行之后添加setContentView(relativeLayout); relativeLayout.addView(mapView);它将解决您的问题。