自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 1462|回复: 33
打印 上一主题 下一主题

[使用疑问] 高德地图路径规划自定义window 加载网络图片闪烁

[复制链接]
最佳答案
1 

67

主题

312

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
跳转到指定楼层
楼主
发表于 2016-4-26 10:07:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
发表帖子
API/SDK版本号: 3.3.0
产品: 3D地图
手机型号: 三星s3
使用接口:
高德地图路径规划自定义window 加载网络图片拖动地图的时候网络图片闪烁这是为什么?
难道是拖动地图的时候在重绘?然后网络图片丢失了? 可是停止拖动的时候网络图片又加载回来了,
我试了用Picasso 以及ImageLoader  结果都是一样的图片还是照样闪烁这是为什么?


@Override
public View getInfoWindow(Marker marker) {
   // TODO Auto-generated method stub
   View view= LayoutInflater.from(this).inflate(R.layout.window_layout,null);
   ImageView window_img= (ImageView) view.findViewById(R.id.window_img);
   Picasso.with(mContext).load(imguri)
         .placeholder(R.drawable.ic_launcher)
         .error(R.drawable.ic_launcher)
         .into(window_img);

   TextView  window_name= (TextView) view.findViewById(R.id.window_name);
   window_name.setText(marker.getTitle());
   return  view;
}


window 拖动后.jpg (188.12 KB, 下载次数: 72)

window 拖动后.jpg

window 拖动之前.jpg (200.75 KB, 下载次数: 67)

window 拖动之前.jpg
回复

使用道具 举报

最佳答案
1 

11

主题

33

帖子

171

积分

新手上路

Rank: 1

积分
171
沙发
发表于 2016-4-28 18:49:22 | 只看该作者
求解求解求解求解求解
回复 支持 反对

使用道具 举报

最佳答案
1 

67

主题

312

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
板凳
 楼主| 发表于 2016-4-28 18:53:42 | 只看该作者
xlc758141116 发表于 2016-4-28 18:49
求解求解求解求解求解

我这帖子发了好几天了,一看有回复激动了办法,进来一看又失望了,官方还没回复我!
回复 支持 反对

使用道具 举报

最佳答案
1 

11

主题

33

帖子

171

积分

新手上路

Rank: 1

积分
171
地板
发表于 2016-4-28 19:08:51 | 只看该作者
我们可以交流
  你有demo吗  可以加QQ 一起研究下 我也要做这个功能
回复 支持 反对

使用道具 举报

最佳答案
1 

67

主题

312

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
5#
 楼主| 发表于 2016-4-28 19:29:10 | 只看该作者
xlc758141116 发表于 2016-4-28 19:08
我们可以交流
  你有demo吗  可以加QQ 一起研究下 我也要做这个功能

这个你留言给我吧或者发信息,不要在论坛里面写qq号码不然全暴露了!
回复 支持 反对

使用道具 举报

最佳答案
334 

8

主题

2587

帖子

5772

积分

超级版主

Rank: 8Rank: 8

积分
5772
6#
发表于 2016-4-28 20:39:53 | 只看该作者
楼主是设置好图片 并且显示出来之后 拖动的时候变成可默认的图片吗
回复 支持 反对

使用道具 举报

最佳答案
1 

67

主题

312

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
7#
 楼主| 发表于 2016-4-28 21:19:02 | 只看该作者
郑翔宇er 发表于 2016-4-28 20:39
楼主是设置好图片 并且显示出来之后 拖动的时候变成可默认的图片吗

是的,我是通过getwindow 自定义布局设置网络图片,一拖动的就变成默认图片,如果一松手就变成网络图片,
是不是ontouchevent  被地图占用了?还是什么原因版主你也可以试试急急急。。。。。。。
回复 支持 反对

使用道具 举报

最佳答案
334 

8

主题

2587

帖子

5772

积分

超级版主

Rank: 8Rank: 8

积分
5772
8#
发表于 2016-4-28 21:36:20 | 只看该作者
az485230 发表于 2016-4-28 21:19
是的,我是通过getwindow 自定义布局设置网络图片,一拖动的就变成默认图片,如果一松手就变成网络图片, ...

我这样试了一下  拖动的时候是网络上的图片
  1. public void runTest() {
  2.         log("替换infoWindow adapter测试");
  3.         aMap.setInfoWindowAdapter(this);
  4.         marker = aMap.addMarker(new MarkerOptions().position(Constants.BEIJING).title("test").snippet("this is a test"));
  5.         marker.showInfoWindow();

  6.     }

  7.   

  8.     @Override
  9.     public View getInfoWindow(Marker marker) {
  10.         View infoContent = LayoutInflater.from(context).inflate(
  11.                 R.layout.custom_info_contents, null);
  12.         render(marker, infoContent);

  13.         return infoContent;
  14.     }

  15.     @Override
  16.     public View getInfoContents(Marker marker) {
  17.         View infoContent = LayoutInflater.from(context).inflate(
  18.                 R.layout.custom_info_contents, null);
  19.         render(marker, infoContent);

  20.         return infoContent;
  21.     }

  22.     ImageView imageView;
  23.     /**
  24.      * 自定义infowinfow窗口
  25.      */
  26.     public void render(Marker marker, View view) {
  27.         imageView = (ImageView) view.findViewById(R.id.badge);
  28.         imageView.setImageResource(R.drawable.badge_wa);


  29.         //开启网络下载任务
  30.         new MyTask().execute("");

  31.         String title = marker.getTitle();
  32.         TextView titleUi = ((TextView) view.findViewById(R.id.title));
  33.         if (title != null) {
  34.             SpannableString titleText = new SpannableString(title);
  35.             titleText.setSpan(new ForegroundColorSpan(Color.RED), 0,
  36.                     titleText.length(), 0);
  37.             titleUi.setTextSize(15);
  38.             titleUi.setText(titleText);

  39.         } else {
  40.             titleUi.setText("");
  41.         }
  42.         String snippet = marker.getSnippet();
  43.         TextView snippetUi = ((TextView) view.findViewById(R.id.snippet));
  44.         if (snippet != null) {
  45.             SpannableString snippetText = new SpannableString(snippet);
  46.             snippetText.setSpan(new ForegroundColorSpan(Color.GREEN), 0,
  47.                     snippetText.length(), 0);
  48.             snippetUi.setTextSize(20);
  49.             snippetUi.setText(snippetText);
  50.         } else {
  51.             snippetUi.setText("");
  52.         }
  53.     }

  54.     Handler handler = new Handler();


  55.     /**
  56.      * 又网络下载操作,使用异步任务
  57.      */
  58.     class MyTask extends AsyncTask<String , String, String> {

  59.         public MyTask() {
  60.         }

  61.         @Override
  62.         protected String doInBackground(String... arg0) {
  63.             loadImage();
  64.             return null;
  65.         }


  66.         @Override
  67.         protected void onCancelled() {
  68.             // TODO Auto-generated method stub
  69.             super.onCancelled();
  70.         }


  71.         @Override
  72.         protected void onPostExecute(String result) {
  73.             // TODO Auto-generated method stub
  74.             super.onPostExecute(result);
  75.         }

  76.         public boolean loadImage() {
  77.             try {

  78.                 URL url = new URL("http://lbsbbs.amap.com/template/LBS_1/imgs/a_logo.png"); //path图片的网络地址
  79.                 HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
  80.                 if(httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK){
  81.                     final Bitmap bitmap  = BitmapFactory.decodeStream(httpURLConnection.getInputStream());

  82. //                    ImageView testview = new ImageView(context);
  83. //
  84. //                    imageView.setImageBitmap(bitmap);//加载到ImageView上
  85. //                    System.out.println("加载网络图片完成");
  86. //
  87. //                    BitmapDescriptor descriptor = BitmapDescriptorFactory.fromView(testview);

  88. //                    mMarker.setIcon(descriptor);

  89.                     handler.post(new Runnable() {
  90.                         @Override
  91.                         public void run() {
  92.                             imageView.setImageBitmap(bitmap);//加载到ImageView上
  93.                         }
  94.                     });
  95.                     return true;
  96.                 }else{
  97.                     System.out.println("加载网络图片失败");
  98.                     return false;
  99.                 }
  100.             } catch (Exception e) {
  101.                 e.printStackTrace();
  102.             }
  103.             return false;
  104.         }

  105.     }
复制代码
回复 支持 反对

使用道具 举报

最佳答案
1 

67

主题

312

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
9#
 楼主| 发表于 2016-4-29 09:47:43 | 只看该作者
郑翔宇er 发表于 2016-4-28 21:36
我这样试了一下  拖动的时候是网络上的图片

版主你试试用:
if(!TextUtils.isEmpty(uri)){
            Picasso.with(mContext).load(uri)
                    .placeholder(R.drawable.window_map_left_bg)
                    .error(R.drawable.default_bg_300_300)
                    .into(map_marker_img);
}

或者
  //ImageLoader.getInstance().displayImage(uri,map_marker_img, imgOptions);  试试!


我这是不行的!
回复 支持 反对

使用道具 举报

最佳答案
1 

67

主题

312

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
10#
 楼主| 发表于 2016-4-29 11:37:11 | 只看该作者
郑翔宇er 发表于 2016-4-28 21:36
我这样试了一下  拖动的时候是网络上的图片

版主,我又从官方下载了最新demo代码以及版主提供的异步下载网络图片方法进行测试,反正结果还是一样的,版主你在测试一下试试。
我还以为是手机问题,换了手机后运行结果还是一样的,版主请认真测试一下试试!

官方下载demo包.jpg (152.3 KB, 下载次数: 59)

官方下载demo包.jpg

官方demo.jpg (145.75 KB, 下载次数: 66)

官方demo.jpg

魅族手机测试.jpg (38.93 KB, 下载次数: 65)

魅族手机测试.jpg

三星手机测试.jpg (96.13 KB, 下载次数: 61)

三星手机测试.jpg

运行结果1.jpg (281.86 KB, 下载次数: 62)

运行结果1.jpg

运行结果2.jpg (278.63 KB, 下载次数: 62)

运行结果2.jpg
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表