= null) { SupportMapFragment mapFragment = (SupportMapFragment) fragmentManager.findFragmentById (R.id.frag_map); if (mapFragment ! initMap() { FragmentManager fragmentManager = getChildFragmentManager(); SupportMapFragment mapFragment = new SupportMapFragment(); fragmentManager.beginTransaction().replace(R.id.frag_map, mapFragment ).commit(); mapFragment.getMapAsync(this); } 参考 https://blog.csdn.net/rockykou/article/details/53312342
① MapFragment 首先在fragment包下新建一个MapFragment,对应的布局是map_fragment.xml,布局代码如下: <? 下面回到MapFragment,里面的代码如下: public class MapFragment extends BaseFragment { private MapFragmentBinding binding; public static MapFragment newInstance() { return new MapFragment(); } 依然是在MapFragment,继承GeocodeSearch.OnGeocodeSearchListener,实现两个回调方法。 ; 然后MapFragment继承WeatherSearch.OnWeatherSearchListener,实现两个方法。
private var mapFragment:MySupportMapFragment? =null mapFragment = supportFragmentManager .findFragmentById(R.id.mv_map) as MySupportMapFragment if (mapFragment ! = null) mapFragment!!. setListener { mDataBinding.nsv.requestDisallowInterceptTouchEvent(true) } mapFragment!!.
修改一下标题 然后就是修改HomeActivity中的initView方法中的代码,如下图所示: 下面运行一下: 二、抽屉菜单 之前在主页面的HomeActivity中使用过抽屉菜单,现在需要在MapFragment match_parent" android:layout_height="match_parent" tools:context=".ui.fragment.MapFragment 高德给我们提供了API,首先创建对象,在MapFragment中添加如下代码: //地区搜索 private DistrictSearch districtSearch; //地区搜索查询 data> <variable name="name" type="String" /> data> 添加位置如下图所示: 然后回到MapFragment 六、切换地图中心 切换地图中心,通过地址信息获得经纬度之后,在MapFragment中新增一个方法,代码如下: /** * 切换地图中心 */ private void
protected void onVisible(){ lazyLoad(); } protected void onInvisible(){ } } isInit是一个在MapFragment } @Override public void onError(Throwable e) { Log.e("MapFragment public class MapFragment extends LazyFragment implements AMapLocationListener, LocationSource /获取imageloader实例 private final ImageLoader imageLoader = ImageLoader.getInstance(); public MapFragment } @Override public void onError(Throwable e) { Log.e("MapFragment
GoogleMapActivity,首先我们创建一个initView()函数,代码如下: /** * 初始化视图 */ private fun initView() { val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync