1

我正在尝试从“InfoWindowAdapter”中的 url 显示图像,我有以下代码,但没有显示图像

....
mMap = getMap();

mMap.setInfoWindowAdapter(new InfoWindowAdapter() {

  ...

 @Override
 public View getInfoContents(Marker marker) {

  View v = getActivity().getLayoutInflater().inflate(
R.layout.info_window_layout, null);

 String image_url = "http://api.androidhive.info/images/sample.jpg";
 new DownloadImageTask(imgEquipo).execute(image_url);
 return v;
 } 
});

调用 AsyncTask 获取图像

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    } }
 }

为您提供帮助。

4

1 回答 1

2

它不起作用,因为视图在您获取图像之前返回,并且它们不同步。

看看这种方法:

我使用 google mapV2 并从 google place api 下载图像并希望在弹出窗口中显示

诀窍是在获取图像后更新 InfoWindow。

于 2013-03-22T17:23:23.060 回答