我正在使用此处的地图SDK在地图上设置标记(服务器会提供更多标记) SDK提供了多种方法来从可绘制的,本地字符串,文件和资产中设置标记图像,但是没有从URL到标记图像的方法,我尝试先将图像从URL转换为位图,然后使用SDK方法setBitmap,但它给了我错误“提供的图像无效” 您能在这件事上帮助我吗
尝试将图像设置为位图,但显示错误,前提是图像无效
private class AsyncTaskLoadImage extends AsyncTask<String, String, Bitmap> {
@Override
protected Bitmap doInBackground(String... params) {
Bitmap bitmap = null;
try {
URL url = new URL(params[0]);
bitmap = BitmapFactory.decodeStream((InputStream) url.getContent());
} catch (IOException e) {
Log.i(">>stat", "doInBackground: ");
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
try {
myImage.setBitmap(bitmap);
} catch (Exception e) {
Toast.makeText(CustomerHomeDashboardActivity.this, "Cannot"+e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}`
应将预期结果添加到地图中 因为我已经将该功能用于其他可绘制到URL的URL图片进行了测试,
下面的是我用来将服务器的图像URL转换为位图,然后将其设置为mImage.setBitmap(CONVERTED_BITMAP)
的方法,该方法是从服务器的URL中接收的图像可以是JPEG或PNG,但是无论我使用哪种格式出现相同的错误“提供的图片无效”
com.here.android.mpa.common.Image myImage;
private class AsyncTaskLoadImage extends AsyncTask<String, String, Bitmap> {
@Override
protected Bitmap doInBackground(String... params) {
Bitmap bitmap = null;
try {
URL url = new URL(params[0]);
bitmap = BitmapFactory.decodeStream((InputStream) url.getContent());
} catch (IOException e) {
Log.i(">>stat", "doInBackground: ");
}
return bitmap;
}
}