自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 435|回复: 1
打印 上一主题 下一主题

[使用疑问] fragment中地图后台运行一段时间后无响应

[复制链接]
最佳答案
0 

1

主题

2

帖子

13

积分

新手上路

Rank: 1

积分
13
跳转到指定楼层
楼主
发表于 2018-6-8 18:10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发表帖子
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。地图的定位任然可以正常使用。

回复

使用道具 举报

最佳答案
0 

1

主题

2

帖子

13

积分

新手上路

Rank: 1

积分
13
沙发
 楼主| 发表于 2018-6-9 01:29:14 | 只看该作者
已经搞定了,原来在Fragment中不能使用MapView 而应该使用TextureMapView ,希望大家注意!!!
链接如下https://lbs.amap.com/dev/demo/map-fragment#Android
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表