无法解码图像。提供的图像必须是位图。我确实提供了一个位图

时间:2017-12-01 11:20:48

标签: android google-maps bitmap

目前,我正在开发一款使用Google Maps API在用户拍照的地图上绘制点的应用。这些图像是从我创建的数据库中存储和检索的。当地图首次启动时,我检索图片并绘制点。从数据库中获取byte []后,我将其转换为位图并将标记图标设置为DescriptorFactory中的位图。但是,编译器会抛出有关提供的图像必须如何为位图的错误。我99%肯定是。

private void plotMarkers(GoogleMap mMap) {

    ImageHelper imageHelper = new ImageHelper(this, null, null, 1);
    markers = imageHelper.selectAll();
    if(markers.size() > 0)
    {
        int index = 0;
        for (MyMarker myMarker : markers)
        {
            Bitmap bitmap = (imageHelper.getImage(index));
            MarkerOptions markerOption = new MarkerOptions()
                    .position(new LatLng(myMarker.getLatitude(), myMarker.getLongitude()))
                    .icon(BitmapDescriptorFactory.fromBitmap(bitmap));


            Marker currentMarker = mMap.addMarker(markerOption);

            markersHashMap.put(currentMarker, myMarker);
            index++;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

尝试使用Bitmap.createBitmap(bitmap)

另外请在下次指定全局变量的类型。