Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Widget中以编程方式生成Android谷歌地图快照_Android_Google Maps_Android Widget - Fatal编程技术网

在Widget中以编程方式生成Android谷歌地图快照

在Widget中以编程方式生成Android谷歌地图快照,android,google-maps,android-widget,Android,Google Maps,Android Widget,我想在我的小部件中显示地图,我能想到的唯一方法(不必求助于代价高昂的静态API)是创建地图视图并使用快照功能。但现在我不知道如何在AppWidgetProvider中实例化MapView,并以编程方式拍摄快照。当我尝试拍摄快照时,我总是得到一个位图错误,宽度/高度必须大于零 width and height must be > 0 我尝试仅实例化高度和宽度设置为LayoutParams的MapView,尝试添加宽度/高度设置为的父FrameLayout,尝试从XML扩展MapView,但

我想在我的
小部件
中显示地图,我能想到的唯一方法(不必求助于代价高昂的静态API)是创建
地图视图
并使用
快照
功能。但现在我不知道如何在
AppWidgetProvider
中实例化
MapView
,并以编程方式拍摄快照。当我尝试拍摄快照时,我总是得到一个
位图
错误,宽度/高度必须大于零

width and height must be > 0
我尝试仅实例化高度和宽度设置为
LayoutParams
MapView
,尝试添加宽度/高度设置为的父
FrameLayout
,尝试从XML扩展
MapView
,但似乎没有任何效果。做这种事的正确方法是什么

val view = MapView(context).apply { layoutParams = ViewGroup.LayoutParams(300, 300) }


//Or like this
val parent = FrameLayout(context).apply { layoutParams = ViewGroup.LayoutParams(300, 300) }
val view = MapView(context).apply { layoutParams = ViewGroup.LayoutParams(300, 300) }
parent.addView(view)
          
然后,我还会调用这些函数来获取快照:

view.onCreate(bundleOf())
view.onStart()
view.onResume()

view.getMapAsync { map ->
    map.snapshot { bitmap ->
    }
}