[6.5.0][overlay] marker添加点击事件处理

This commit is contained in:
renwj
2024-06-13 15:23:45 +08:00
parent 2dc0ac8868
commit 78db9ad9a2
2 changed files with 27 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ import android.view.*
import androidx.annotation.*
import com.mogo.map.overlay.core.*
import com.mogo.map.overlay.proxy.point.*
import java.lang.ref.WeakReference
import java.util.*
data class Point(val id: String, val owner: String, val level: Level, val option: Options) {
@@ -149,6 +150,11 @@ data class Point(val id: String, val owner: String, val level: Level, val option
* 是否切换到当前marker所在的视角
*/
val moveToCenter: Boolean = builder.moveToCenter
/**
* marker点击事件处理
*/
val onClickHandler: WeakReference<((id:String) -> Unit)>? = builder.onMarkerClickListener
fun builder(): Builder {
return builder
@@ -280,6 +286,11 @@ data class Point(val id: String, val owner: String, val level: Level, val option
*/
internal var moveToCenter: Boolean = true
/**
* Marker点击事件回调
*/
internal var onMarkerClickListener:WeakReference<((id: String) -> Unit)>? = null
fun setId(id: String) = apply {
this.id = id
}
@@ -411,6 +422,13 @@ data class Point(val id: String, val owner: String, val level: Level, val option
this.moveToCenter = flag
}
/**
* marker点击事件监听
*/
fun onClick(listener: ((id: String) -> Unit)) = apply {
this.onMarkerClickListener = WeakReference(listener)
}
/**
* 构建Options对象
*/