|
发表帖子
API/SDK版本号: |
com.amap.api:map2d:5.2.0 com.amap.api:location:3.6.1 com.amap.api:search:5.5.0 |
产品: |
定位 |
手机型号: |
oppo a73t |
使用接口: |
|
android的fragment中嵌套使用地图生命周期的所有函数均有实现,代码如下
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { mMapLayout = inflater!!.inflate(R.layout.fragment_map, null)
mMapView = mMapLayout!!.findViewById<MapView>(R.id.map) as MapView
recyclerView = mMapLayout!!.findViewById<RecyclerView>(R.id.recycler) as RecyclerView
flContentView = mMapLayout!!.findViewById<View>(R.id.fl_content) as View
flContentView!!.setOnClickListener(object :View.OnClickListener{
override fun onClick(v: View?) {
recyclerView!!.visibility = View.GONE
flContentView!!.visibility = View.GONE
}
})
startCheckImg = mMapLayout!!.findViewById<ImageView>(R.id.start_check) as ImageView
startCheckImg!!.setOnClickListener {
startCheckUp()
}
if (isShowBtnMarker)
startCheckUp()
mMapView!!.onCreate(savedInstanceState)
init()//mapView控件初始化
initGridView()
initDefaultLocationList()
drawBeforeList()
return mMapLayout
}
override fun onResume() {
super.onResume()
if (mMapView != null)
mMapView!!.onResume()
CommonUtils.startSingleLocate()
moveCamera()
}
/**
* 方法必须重写
*/
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
mMapView!!.onSaveInstanceState(outState)
}
override fun onPause() {
if (mMapView != null)
mMapView!!.onPause()
super.onPause()
}
override fun onDestroyView() {
if (writeMessageDialog != null)
writeMessageDialog!!.dismiss()
if (mMapView != null)
mMapView!!.onDestroy()
super.onDestroyView()
}
但是后台执行几分钟后,地图无法拖到或增加marker。地图的定位任然可以正常使用。
|
|