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

时间:2017-06-07 12:00:44

标签: android google-maps

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

Google map and blue dot

1 个答案:

答案 0 :(得分:3)

使用自定义图像作为标记

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

第一种方法:

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)));

这些是你可以使用的常量

浮动HUE_AZURE
float HUE_BLUE
漂浮HUE_CYAN
漂浮HUE_GREEN
漂浮HUE_MAGENTA 漂浮HUE_ORANGE
浮HUE_RED 漂浮HUE_ROSE
漂浮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]);
}