2016-06-24 14 views
3

Я разрабатываю приложение, используя карту google. , и мне нужно custominfowindow, у которого есть два текста и источник изображения.Как получить изображение в infoWindow на Google Maps с помощью glide - Android

это мой код infocontents(). с использованием firebase, карты Google, Glide, но это не справка plz.

@Override 
    public View getInfoWindow(Marker marker) { 
     return null; 
    } 

    @Override 
    public View getInfoContents(Marker marker) { 
     final View v = getLayoutInflater().inflate(R.layout.custom_window, null); 

     infoWindowProfile = (CircleImageView) v.findViewById(R.id.ci_custom_profile); 
     infoWindowPr = (TextView) v.findViewById(R.id.tv_custom_pr); 
     String uidTemp = marker.getSnippet(); 
     Log.d("markerproper", "uid(snippet) : " + uidTemp); 
     database = FirebaseDatabase.getInstance(); 
     markerRef = database.getReference().child("truck").child(uidTemp); 
     markerRef.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       Map<String, ZariPosts> zariPost = (Map<String, ZariPosts>) dataSnapshot.getValue(); 
       markerProfileUrl = String.valueOf(zariPost.get("profileUrl")); 
       markerPr = String.valueOf(zariPost.get("pr")); 
       Log.d("markerproper", "uid(markerProfileUrl) : " + markerProfileUrl); 
       Log.d("markerproper", "uid(markerPr) : " + markerPr); 


       Glide.with(SearchActivity.this) 
         .load(markerProfileUrl) 
         .centerCrop() 
         .into(infoWindowProfile); 

       infoWindowPr.setText(markerPr); 
      } 
      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
     return v; 
    } 
+0

см это: http://androidfreakers.blogspot.in/2013/08/display-custom-info-window-with.html –

+0

возможный дубликат http://stackoverflow.com/questions/16572971/ как к надстройке имиджевых в-InfoWindow-оф-маркеру-в-Google-карты-апи-v2-андроид? RQ = 1 – abielita

ответ

6

из https://github.com/bumptech/glide/issues/290

вы можете попробовать добавить следующий код в ваш getInfoContent() метод. измените имя url и imageView соответственно.

Glide.with(mContext).load(imageURL).asBitmap().override(50,50).listener(new RequestListener<String, Bitmap>() { 
    @Override 
    public boolean onException(Exception e, String model, Target<Bitmap> target, boolean isFirstResource) { 
     e.printStackTrace(); 
     return false; 
    } 

    @Override 
    public boolean onResourceReady(Bitmap resource, String model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) { 
     if(!isFromMemoryCache) marker.showInfoWindow(); 
     return false; 
    } 
}).into(imageView);