0

我需要在同一屏幕上的地图上显示一些地址预览。为此,我将ImageViews使用位图进行显示,而不是制作多个MapView. 但为此,我需要找到一种方法来捕获这些位图。

snapshot在 MapboxMap ( https://github.com/mapbox/mapbox-gl-native/issues/6062 ) 中找到了函数,但它需要显示地图。

val position = CameraPosition.Builder()
        .target(addressLatLng)
        .zoom(zoom)
        .build()
mapboxMap.cameraPosition = position

mapboxMap.snapshot { bitmap: Bitmap ->
    imageView.setImageBitmap(bitmap)
}

那么,我可以在不显示在屏幕上的情况下拍摄地图快照吗?

4

1 回答 1

0

我终于找到了解决方案!我需要使用的类是MapSnapshotter

val width = imageView.width
val height = imageView.height
val location = CameraPosition.Builder()
        .target(LatLng(55.7558, 37.6173))
        .zoom(16.0)
        .build()
val options = MapSnapshotter.Options(width, height)
        .withCameraPosition(location)
MapSnapshotter(context, options).start { snapshot ->
    imageView.setImageBitmap(snapshot.bitmap)
}
于 2018-04-04T16:36:26.410 回答