From 60ace4cfa66205adfe96f5879ad3c5841600f1aa Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Tue, 31 Mar 2020 14:10:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=90=9C=E7=B4=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../navi/ui/search/CategorySearchFragment.kt | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index 91b293b75e..9dd74bbec5 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -2,6 +2,7 @@ package com.mogo.module.navi.ui.search import android.graphics.Bitmap import android.graphics.BitmapFactory +import android.graphics.Rect import android.os.Bundle import android.text.TextUtils import android.view.View @@ -9,6 +10,7 @@ import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.mogo.commons.voice.AIAssist import com.mogo.commons.voice.IMogoVoiceCmdCallBack +import com.mogo.map.MogoLatLng import com.mogo.map.marker.IMogoMarker import com.mogo.map.marker.IMogoMarkerClickListener import com.mogo.map.marker.MogoMarkerOptions @@ -22,6 +24,7 @@ import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter import com.mogo.module.navi.ui.base.BaseFragment import com.mogo.module.navi.uitls.BitmapUtils import com.mogo.module.navi.uitls.StringUtils +import com.mogo.utils.UiThreadHandler import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result import kotlinx.android.synthetic.main.fragment_search_category.et_navi_search import kotlinx.android.synthetic.main.fragment_search_category.iv_navi_back @@ -33,8 +36,7 @@ import kotlinx.android.synthetic.main.fragment_search_category.tv_navi_navi * @author zyz * 2020-01-09. */ -class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBack - { +class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBack { // override fun onMarkerClicked(marker: IMogoMarker?): Boolean { // // return true @@ -64,6 +66,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa private val TAG: String = "CategorySearchFragment" private var addMarkers: List? = null var arrayList = ArrayList() + var locationList = ArrayList() private lateinit var cmds: ArrayList override fun renderSearchPoiResult(datums: List?) { @@ -74,6 +77,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa .speakTTSVoice(String.format("搜索到%d个位置,请选择", datums?.size)) arrayList.clear() + locationList.clear() for (index in 0 until datums!!.size) { var decodeResource = @@ -94,8 +98,9 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa // .anchor(0.5f, 1f) .longitude(datums[index].point?.lng ?: 0.0) arrayList.add(options) + locationList.add(datums[index].point) - var int2String = StringUtils.int2String(index+1) + var int2String = StringUtils.int2String(index + 1) AIAssist.getInstance(context) .registerUnWakeupCommand( "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this @@ -103,16 +108,26 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa cmds.add("position" + index) } + addMarkers() + } + + private fun addMarkers() { addMarkers = SearchServiceHolder.getMarkerManger() .addMarkers(TAG, arrayList, true) - moveMapToRight() + + UiThreadHandler.postDelayed(Runnable { + SearchServiceHolder.getMapUIController() + .showBounds(TAG, null, locationList, Rect(cv_search_result.width,0,0,0), false) + + },1000) + // moveMapToRight() addClick() } private fun registerVoice() { for (index in 0 until cmds.size) { - var int2String = StringUtils.int2String(index+1) + var int2String = StringUtils.int2String(index + 1) AIAssist.getInstance(context) .registerUnWakeupCommand( "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this @@ -124,23 +139,20 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa override fun onHiddenChanged(hidden: Boolean) { super.onHiddenChanged(hidden) if (!hidden) { - addMarkers = SearchServiceHolder.getMarkerManger() - .addMarkers(TAG, arrayList, true) registerVoice() - addClick() - + addMarkers() } else { unRegisterVoice() } } - private fun addClick(){ + private fun addClick() { if (addMarkers != null) { - for (item in addMarkers!!){ + for (item in addMarkers!!) { item.setOnMarkerClickListener { var index = it.mogoMarkerOptions.`object` as Int - mAdapter.current=index + mAdapter.current = index rv_search_result.smoothScrollToPosition(index) updateMarker() true