1

我有一张来自 MapBox 的地图,我在地图上绘制了圆形图像的自定义标记。当用户选择一个时,我希望其他标记变为半透明。我使用MarkerOptions类在地图上定位我的标记,但这个类没有更改标记的 alpha 的方法。有一个不推荐使用的类MarkerViewOptions确实具有这样的方法,但它已被弃用,并且某些功能不适用于该类。我应该如何在地图上自定义标记?这是我的代码片段

private void setMarker(QuestData questData, int adapterPosition) {
        final float latitude = questData.getLatitude();
        final float longitude = questData.getLongitude();
        final LatLng position = new LatLng(latitude, longitude);
        final boolean isMarkerSelected = selectedMarkerPosition < 0
                || adapterPosition == selectedMarkerPosition;
        final float alpha = isMarkerSelected ? 1.0F : 0.5F;
        final MarkerOptions markerOptions = new MarkerOptions().setPosition(position);
        // how to set marker alpha?
        final Marker marker = getMapboxMap().addMarker(markerOptions);
        final int markerDiameter = getResources()
                .getDimensionPixelOffset(R.dimen.size_diam_circle_marker);
        Glide.with(this)
                .asBitmap()
                .load(questData.getPhotoUrl())
                .apply(new RequestOptions()
                        .dontAnimate()
                        .circleCrop()
                        .override(markerDiameter)
                        .error(R.drawable.ic_placeholder)
                )
                .into(new GlideIconMarker(marker, getContext(), markerDiameter));
        questDataMap.put(marker, questData);
    }
4

0 回答 0