Изображение infoWindow теперь отображается при первом клике, но работает при втором клике

Мой android, использующий API Google Map android, изображение InfoWindow не отображается при первом нажатии, но работает при втором нажатии

Я настраиваю infoWindow используя

void setMapInfoWindow(){
    mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
        @Override
        public View getInfoWindow(Marker arg0) {
            return null;
        }

        @Override
        public View getInfoContents(Marker arg0) {
            View v = getLayoutInflater().inflate(R.layout.windowlayout, null);
            final ImageView img = (ImageView)v.findViewById(R.id.imageView3);
            //image
            Picasso.with(context).load("http://imgurl").resize(140, 
        }

    });
}

Вот мой процесс установки маркера

void setMarkers(){
    ...

    for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject datas=jsonArray.getJSONObject(i);
        MarkerOptions tmp=new MarkerOptions()
                .title("name")
                .alpha(0.6f)
                .position(new LatLng(123,456));//replace LatLng with sample
        marker=mMap.addMarker(tmp);

    }
    ....
    setMapInfoWindow();
}

После того, как я завершу настройку маркера, я вызываюsetMapInfoWindow() функция.

Это работает на моем смартфоне, но при первом щелчке по информационному окну изображение не будет отображаться; но он показывает, когда второй щелчок.

Я проверяю для некоторых случаев:

заменить веб-изображение на локальное изображение, проблема все еще возникает.сохранить все маркеры в ArrayList, после завершения всего процесса установить все маркеры наshowInfoWindow() затем установите все маркеры наhideInfoWindow(), Это работает, но есть информационное окно, которое нельзя закрыть (последнее).Я пытаюсь использовать растровое изображение, чтобы получить изображение, но оно не показывает изображение, я пробую много способов из stackoverflow. Но это работает при использовании библиотеки Пикассо.

Спасибо

проблема решена с помощью: кажется, URL-адрес изображения веб-службы Google будет изменен на другой URL при загрузке.

пример:

https://maps.googleapis.com/maps/api/place/photo?photoreference=

Google изменит его на следующий URL:

https://lh4.googleusercontent.com/......

поэтому я изменяю логическое not_first_time_showing_info_window на int и три раза вызываю

    int not_first_time_showing_info_window=0;
    //show image
    try {
        if(not_first_time_showing_info_window==2){
            not_first_time_showing_info_window=0;
            Picasso.with(HomeActivity.this).load("http://....").resize(600,400).into(img);
        }
        else if (not_first_time_showing_info_window==1) {
            not_first_time_showing_info_window++;
            Picasso.with(HomeActivity.this).load("http://....").resize(600, 400).into(img,new InfoWindowRefresher(marker));
        }else if(not_first_time_showing_info_window==0){
            not_first_time_showing_info_window++;
            Picasso.with(HomeActivity.this).load("http://....").resize(600,400).into(img,new InfoWindowRefresher(marker));
        }
    } catch (Exception e) {
        img.setImageDrawable(null);
    }

Ответы на вопрос(1)

Ваш ответ на вопрос