如何在地图上制作标记半透明?

时间:2018-04-12 11:34:41

标签: android mapbox mapbox-android mapbox-marker

我有一张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);
    }

0 个答案:

没有答案