2016-06-05 7 views
1

Ich benutze Picasso Bibliothek für Set Marker mit Bild auf Google Map API. Aber ich muss geladen werden, zeichnest, die geladen von Picasso.wie man geladene URL von Picasso Bibliothek

habe ich versucht, diese aber es ist nicht die URL der Rückkehr, die von picasso

Target target = new Target() { 
      @Override 
      public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 

      } 

     @Override 
     public void onBitmapFailed(Drawable errorDrawable) {} 

     @Override 


    public void onPrepareLoad(Drawable placeHolderDrawable) {} 
    }; 

Antwort

1

grundlegende Verwendung von picasso

Picasso.with(context).load(my_url).into(my_view); 

und importieren Sie die Bibliothek mit gradle

compile 'com.squareup.picasso:picasso:2.5.2' 
+0

Ich bin nicht auf der Suche nach dem :) Ich brauche "my_url" nach dem Bild geladen. –

+0

wo ist die URL von –

2

Sie können nicht geladen Holen Sie sich die URL von Picasso nach die Zeichenfläche ha s geladen (Picasso.LoadedFrom wird nur sagen, ob das Bild geladen wurde von DISK, MEMORY oder NETWORK).

Aber da Sie die URL angeben müssen, wenn Sie Picasso zu .load() das Bild sagen, können Sie einfach die URL irgendwo speichern und später verwenden.

Wenn Ihr eigentliches Ziel eine benutzerdefinierte Markierungssymbol von einer Remote-URL in eine Google Maps Marker zu laden ist, ist hier, wie es geht eine Ad-hoc mit Image:

private void loadImageFromUrlIntoMarker(final String url, final Marker marker) { 
    final ImageView iv = new ImageView(context); 
    Picasso.with(context).load(url).into(iv, new Callback() { 
     @Override 
     public void onSuccess() { 
      Bitmap bm = ((BitmapDrawable) iv.getDrawable()).getBitmap(); 
      try { 
       marker.setIcon(BitmapDescriptorFactory.fromBitmap(bm)); 
      } catch (Exception e) { 
       Log.e(getClass().getSimpleName(), "Could not load image into marker."); 
      } 
     } 

     @Override 
     public void onError() { 
      Log.e(getClass().getSimpleName(), "Could not load image from " + url); 
     } 
    }); 
} 

Die try { ... } catch { ... } ist wichtig, Der Marker ist möglicherweise ungültig, wenn der Zeichensatz verfügbar wird.

1

Ich weiß nicht, warum Sie diese Frage stellen, weil Sie eine URL benötigen, um Bild mit Picasso zu laden. Sie können eine Funktion grundsätzlich wie erstellen:

public void loadimage(final String loadingUrl){ 
    Picasso.with(getApplicationContext()).load(loadingUrl).into(yourimageview, new Callback() { 
     @Override 
     public void onSuccess() { 
      Log.v("picasso","i successfully created image, here is url : "+loadingUrl); 
     } 

     @Override 
     public void onError() { 

     } 
    }); 
} 
+0

Ich werde das Bild der Nutzer auf der Google-Karte zeigen. Also speichere ich die geladene URL und die Koordinator der Benutzer in der Hashmap (HashMap <"Coordinant", "Picture">) Also ich brauche die URL, die von Picasso für jeden Benutzer geladen wird. Dann werde ich das Bild als Markierung setzen, indem ich das Bild von hashmap mit der Koordinatentaste abrufe. ich Benutzer zu universalimageloader, um es zu erreichen. Weil diese Bibliothek das Bild nach dem Ladevorgang zurückgibt. Aber ich frage mich immer noch, wie ich es mit Picasso erreichen kann. –

+1

Können Sie Ihre vollständige Methode posten, um festzustellen, wie Sie Picasso verwenden? Wenn Sie beim Laden von Bildern keine URLs haben, müssen Sie Bitmap oder Zeichensätze verwenden. Dann können Sie sie in base64 konvertieren und Zeichenfolgenschlüsselwerte speichern. Bitte aktualisieren Sie Ihren vollständigen Code und ich werde Ihnen helfen –

+0

Ich habe diesen Kommentar sofort gesehen sorry.Ich denke, das ist akzeptabel. Ich werde versuchen, Sie zu informieren. Vielen Dank. –

Verwandte Themen