高德地图fragment 动态加载地图 嵌套问题

一、fragment中动态加载地图
private void initSupportMapFragment() {
		CameraPosition LUJIAZUI = new CameraPosition.Builder()
				.target(new LatLng(31.239879, 121.499674)).zoom(18).bearing(0)
				.tilt(70).build();
		AMapOptions aOptions = new AMapOptions();
		aOptions.zoomGesturesEnabled(false);
		aOptions.camera(LUJIAZUI);

		smf = SupportMapFragment.newInstance(aOptions);
		getChildFragmentManager().beginTransaction()
				.add(R.id.pa_ly_location_now_map, smf, "map").commit();
	}


smf = SupportMapFragment.newInstance(aOptions);
主要代码 ,实例后直接smf.getmap(),会为空,估计在实例的时候有异步的方法。

官方的例子是放在不同的生命周期内,如initSupportMapFragment放在oncreate中,initAmap放在onresume中;
若是在一个fragment中添加地图应该使用

getChildFragmentManager().beginTransaction().add(R.id.pa_ly_location_now_map, smf, "map").commit()

添加到fragment中 getChildFragmentManager()

private void initAMap() {
		if (aMap == null) {
			aMap = smf.getMap();
		}
		aMapListener = new MyAmapListener(aMap, this.getActivity(), aMapHandler);
		aMap.moveCamera(CameraUpdateFactory.zoomTo(AMapUtils.INITZOOM));
		aMap.setOnInfoWindowClickListener(aMapListener);
		aMap.setOnMarkerClickListener(aMapListener);
		aMap.setOnMapLongClickListener(aMapListener);
		aMap.setOnMapClickListener(aMapListener);
		aMap.setOnMapLoadedListener(aMapListener);
		UiSettings aMapUiSet = aMap.getUiSettings();
		aMapUiSet.setZoomControlsEnabled(true);
		aMapUiSet.setMyLocationButtonEnabled(false);
		aMapUiSet.setLogoPosition(AMapOptions.LOGO_POSITION_BOTTOM_RIGHT);
		aMayLayOutUtils = new AMapLayoutUtils(aMap);
		printLog("initAMap地图缩放级别" + aMap.getCameraPosition().zoom);
	}

二、将带地图的fragment添加到activity中

// 若使用getInstance返回一个静态的实例会报
// java.lang.IllegalStateException: Activity has been destroyed
// 不明白,
transaction.replace(R.id.pa_ly_main_replace,new BaiduLocationFragment(), item + "");
正如注释说的,可能是地图在不用把父类也给destory了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值