我正在使用 googlemap-android-api v2,并希望在运行时从位图创建标记。所以我这样做:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(filePath, options);
//create the thumbnail to use as marker
Bitmap thumbnail = ThumbnailUtils.extractThumbnail(bitmap,10,10);
MarkerOptions markerOptions = new MarkerOptions().position(currentLatLng).icon(BitmapDescriptorFactory.fromBitmap(thumbnail));
mMap.addMarker(markerOptions)
它似乎永远不会起作用,我确信两者bitmap
都不thumbnail
是空的。如果不是.fromBitmap
,我使用.fromResource(R.drawable.some_image)
then 它显示。但是,正如我所说,我想在运行时根据用户的输入进行更改。
任何提示?谢谢
更新:onResume()
如果我在托管地图的活动/片段中
添加它(即使用上面的代码),标记会显示。在我使用此代码之前onActivityResult()
,用户浏览文件后获取filePath
. 对我来说,这仍然很奇怪,因为onActivityResult()
它在 UI 线程上。无论如何,任何工作。