osmdroid叠加层以当前位置为中心

问题描述 投票:7回答:1

我正在使用osmdroid,并且已在地图上添加MyLocationNewOverlay以显示当前位置。看起来不错。我想要的是一个按钮,它将地图集中在我的当前位置上,类似于Google Maps。

是否有内置的方法?如果没有,我该如何创建自定义叠加层呢?

我意识到MyLocationNewOverlay具有启用跟踪位置的功能。我不想这样。我只需要按需中心按钮。

android dictionary openstreetmap osmdroid
1个回答
0
投票

setCenter()方法与animateTo()中的mapView.controller应该将地图居中。

val mMyLocationOverlay = MyLocationNewOverlay(GpsMyLocationProvider(this), myMapView)
                    val mapController = mapView.controller
                    mMyLocationOverlay.disableMyLocation()
                    mMyLocationOverlay.disableFollowLocation()
                    mMyLocationOverlay.isDrawAccuracyEnabled = true
                    mMyLocationOverlay.runOnFirstFix {
                        runOnUiThread {
                       mapController.setCenter(mMyLocationOverlay.myLocation);                        
                       mapController.animateTo(mMyLocationOverlay.myLocation)
                        }
                    }
            mapView.overlays.add(mMyLocationOverlay)

关于叠加按钮,您可以在地图顶部放置一个静态按钮。它可能不是完美的解决方案,但应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.