Android 高德地图实现指定坐标点居中显示及偏移控制

216 阅读1分钟

Android 高德地图实现指定坐标点居中显示及偏移控制, 官方SDK没有直接提供相应的API,需要组合两个API才能完成该效果.

// 在OnMapLoadedListener.onMapLoaded后执行
fun AMap.animateMoveToCenter(
    latLng: LatLng,
    zoom: Float,
    bottomMarginDp: Float,
    cancelableCallback: AMap.CancelableCallback? = null,
) {
    val bounds: LatLngBounds = projection.getMapBounds(latLng, zoom)

    val offset = bottomMarginDp * Resources.getSystem().displayMetrics.density
    val cameraUpdate: CameraUpdate = CameraUpdateFactory.newLatLngBoundsRect(bounds, 0, 0, 0, offset.toInt())
    animateCamera(cameraUpdate, cancelableCallback)
}