android - 更改默认蓝色位置标记的颜色

标签 android google-maps

可以为蓝色定位标记和精度圆设置我自己的颜色吗?
例如,为此我需要使用橙色调色板。
谢谢!

Google map and blue dot

最佳答案

使用您自定义的图像作为标记

您可以使用以下代码来设置自定义标记

第一种方法:

int height = 100;
    int width = 80;
    BitmapDrawable bitmapdraw = (BitmapDrawable) 
    ContextCompat.getDrawable(this, R.drawable.current_loc_marker);
    Bitmap b = bitmapdraw.getBitmap();
    Bitmap smallMarker = Bitmap.createScaledBitmap(b, width, height, false);
    LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(latLng);
    markerOptions.title("Current Position");
    markerOptions.icon(BitmapDescriptorFactory.fromBitmap(smallMarker));
    mMap.addMarker(markerOptions);

第二种方法:

这是制作默认标记的方法

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE)
    .icon(BitmapDescriptorFactory
        .defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));

这些是你可以使用的常量

float HUE_AZURE
float HUE_BLUE
float HUE_CYAN
float HUE_GREEN
float HUE_MAGENTA float HUE_ORANGE
float HUE_RED float HUE_ROSE
float HUE_VIOLET
float HUE_YELLOW

第三种方法:

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE)
.icon(getMarkerIcon("#ff2299")));

public BitmapDescriptor getMarkerIcon(String color) {
    float[] hsv = new float[3];
    Color.colorToHSV(Color.parseColor(color), hsv);
        return BitmapDescriptorFactory.defaultMarker(hsv[0]);
}

关于android - 更改默认蓝色位置标记的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44412083/

相关文章:

javascript - 根据地理位置检测区域

android - 如何在 XML 文件中设置选中/未选中按钮的背景

javascript - 在谷歌地图信息窗口中获取wordpress帖子内容

javascript - 从邮政编码javascript获取纬度和经度

Android 扩展 BaseExpandableListAdapter

javascript - 如何在谷歌地图中隐藏河流和湖泊?

javascript - 每次添加标记时设置超时

android - 用有问题的@multipart 改造@body

Android ViewPagerIndicator 选项卡

android - 如何将字符串写入广播接收器中的文件?