2016-06-26 4 views
1

Je me suis battu ces derniers jours avec le chargement d'une image dans un infowindow dans google maps. Je crois que je ne fais pas référence à l'URL correctement. Quelqu'un peut-il m'aider s'il vous plaît ou me guider sur la façon d'obtenir l'image d'analyse dans l'infowindow? C'est l'extrait de code. (NOTE) Je peux charger une image dans l'infowindow avec des ressources mais pas d'analyser. (Je crois que le problème est que je ne fais pas référence au bon item) Merci d'avance.Impossible de charger l'image d'analyse à l'aide de la bibliothèque picasso. "imgUrl ne peut pas être résolu en un symbhol"

PS: Cette ligne de code: imgURL ne peut être résolu à un symbole

@Override 
    public void onMapReady(final GoogleMap googleMap) { 
     googleMap.setMyLocationEnabled(true); 
     this.googleMap = googleMap; 
     googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() { 

      // Use default InfoWindow frame 
      @Override 
      public View getInfoWindow(Marker arg0) { 
       return null; 
      } 

      // Defines the contents of the InfoWindow 
      @Override 
      public View getInfoContents(Marker marker) { 


       //icon.setImageResource(R.mipmap.back_vision_fade); 

       ParseQuery<ParseObject> query = ParseQuery.getQuery("Places"); 

       View v = getActivity().getLayoutInflater().inflate(R.layout.maps_infowindow, null); 
       v.setLayoutParams(new LinearLayout.LayoutParams((int) (mapFragment.getView().getMeasuredWidth() * .9), LinearLayout.LayoutParams.WRAP_CONTENT)); 
       ((TextView) v.findViewById(R.id.title)).setText(marker.getTitle()); 
       ((TextView) v.findViewById(R.id.desc)).setText(marker.getSnippet()); 
       ImageView icon = (ImageView) v.findViewById(R.id.imageView5); 

       Item item = new Item(); 

       try { 
        List<ParseObject> objects = query.find(); 
        for(ParseObject obj : objects){ 
         ParseGeoPoint point = obj.getParseGeoPoint("location"); 
         if(obj.getParseFile("icon")!=null) { 
          item.setIcon(obj.getParseFile("icon").getUrl()); 
          //item.downloadIcon(context); 
          item.setIcon(obj.getParseFile("icon").getUrl()); 
          Picasso.with(getActivity()).load(imgUrl).into(icon, new MarkerCallback(marker)); 

         } 
        } 
       } catch (ParseException e) { 
       } 

       return v; 

      } 
    } 

    ); 
+0

Où est imgURL défini? –

+0

C'est un problème. J'ai pris cela d'un exemple que j'ai trouvé. UPDATE: J'ai juste essayé quelque chose et il semble que l'icône soit analysée en changeant imgUrl en item.getIcon qui est défini dans ma classe Item. Mais c'est une icône par défaut et il ne s'agit pas de l'icône correspondante. Changé à ceci: – user3078406

+0

Picasso.with (getActivity()). Load (item.getIcon()). Dans (icône, nouveau MarkerCallback (marqueur)); – user3078406

Répondre

1

Essayez ceci:

Picasso.with(getActivity()).load(obj.getParseFile("icon").getUrl()).into(icon, new MarkerCallback(marker)); 
+0

Oui ce genre de travaux mais je suis toujours en train d'afficher une image par défaut et non la bonne image. J'ai un tableau d'images à l'intérieur de parse qui sont associées à différents événements. Je veux afficher l'image correspondante. À l'heure actuelle, il n'affiche qu'une seule image. I – user3078406

+0

Pouvez-vous partager une capture d'écran de ceci? –

+0

Aussi, c'est peut-être une bonne idée de tout enregistrer obj.getParseFile ("icon"). GetUrl() afin de vérifier que les urls sont correctement analysés. –