高德地图自定义 marker 布局里加载网络图片不显示的问题

服务端返回一组 marker 数组,for 循环里添加自定义布局 marker到地图上

要注意两个原因不显示 marker


1,要在图片加载完后再把 布局view添加到 marker 上

2,markerOption必须是 for 循环里的变量,不能是全局变量,不然可能这个 marker 还没加载好,markerOption就被下一个循环给初始化了

for (MapShopItemBean item : shop) {
    MarkerOptions markerOption = new MarkerOptions();
    markerOption
            .position(latlng)// 经纬度
            .draggable(false)
            .setFlat(true);
    View view = LayoutInflater.from(this).inflate(R.layout.activity_map_marker_shop, null);
    ImageView shop_Img = view.findViewById(R.id.shop_Img);
    ImageUtil.INSTANCE.loadBitmapSync(this, item.getIconPath(), new SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap bitmap, @Nullable Transition<? super Bitmap>      transition) {
            shop_Img.setImageBitmap(bitmap);
            markerOption.icon(BitmapDescriptorFactory.fromView(view));
            markerOption.anchor(0.0f, 0.5f);
            marker = aMap.addMarker(markerOption);
            marker.setMarkerOptions(markerOption);
        }
    });
}

 

ImageUtil.INSTANCE.loadBitmapSync只是封装的 Glide 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值