2015-01-04 119 views
0

我試圖顯示一個圖像,其路徑存儲在數據庫中。通過GoogleMap的文件路徑加載圖像標記圖標

我遍歷所有的位置,併爲每個我顯示一個標記。但是,通過路徑加載照片存在一些問題(標記爲線條)。

private void loadLocations() { 
    dataSource.open(); 
    ArrayList <LocationEntry> locations = dataSource.getLocationsFromTrack(trackId); 
    dataSource.close(); 
    for(int i=0; i<locations.size(); i++) 
    { 
     map.addMarker(new MarkerOptions() 
     .position(locations.get(i).getCoordinates()) 
     .title(locations.get(i).getName()) 
     .snippet(locations.get(i).getSnippet())  
     .icon(BitmapDescriptorFactory.fromPath(locations.get(i).getPhotoURL()))); //here 
    } 
} 

被移交給fromPath功能照片的URL看起來是這樣的:

'/mnt/sdcard/camtest/26' 

我檢查這個位置,我敢肯定,這個名字的文件存在那裏。所以BitmapDescriptorFactory在處理文件路徑時遇到問題,因爲它返回null。任何想法如何解決這個問題?任何其他途徑獲取圖像的路徑?

+0

不,如果你嘗試默認標記它的工作?也 - 它可能是權限問題[http://stackoverflow.com/questions/8954293/permission-to-read-data-from-sd-card](http://stackoverflow.com/questions/8954293/permission-to - 讀取 - 數據 - 從-SD卡) – benji

回答

0

首先,圖像視圖沒有設置,這可能是你得到一個空指針異常的原因。您可以嘗試進行這兩種類別和方法調用,以傳遞存儲在SD卡中的圖像的位置。

Bitmap bm = BitmapFactory.decodeFile("/mnt/sdcard/camtest/26");  
imageView1.setImageBitmap(bm); 

Drawable d = Drawable.createFromPath(path); 

不要忘了manifest文件權限:

<manifest ...> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
... 
</manifest>