高德地圖自定義 marker 佈局里加載網路圖片不顯示的問題
阿新 • • 發佈:2018-12-09
服務端返回一組 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