Android地图标记颜色?

kuc*_*luk 35 android colors marker google-maps-android-api-2

在Android地图上制作标记的颜色是什么?
有多少种颜色以及如何编写颜色代码?

S.T*_*ane 70

这是我Hue用来根据给定颜色为标记生成动态颜色的方法String.

可能对某人有用:)

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

// method definition
public BitmapDescriptor getMarkerIcon(String color) {
    float[] hsv = new float[3];
    Color.colorToHSV(Color.parseColor(color), hsv);
    return BitmapDescriptorFactory.defaultMarker(hsv[0]);
}
Run Code Online (Sandbox Code Playgroud)

  • 但它会产生浅色和实际颜色较暗 (6认同)

JRo*_*wan 58

这是如何制作默认标记

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE)
    .icon(BitmapDescriptorFactory
        .defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
Run Code Online (Sandbox Code Playgroud)

这些是你可以使用的常量

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
Run Code Online (Sandbox Code Playgroud)

  • 只有十种颜色? (4认同)
  • 如果从0到360,则哪个是灰色? (4认同)
  • 这些只是一些预定义的色调。由于defaultMarker()方法采用float形式,因此您可以提供[0 ... 360]范围内的任何值。 (2认同)
  • 根据Google Maps Android SDK的文档,只能使用色相为标记“ BitmapDescriptorFactory.defaultMarker(float hue)”着色。仅考虑HSV的色调,如何获得合适的颜色?Google可能没有正确实现着色功能,或者我犯了一个严重错误。我真的希望不是前者。无论哪种方式都太痛苦了! (2认同)

Far*_*han 14

详细解答!

float hue = 120;  //(Range: 0 to 360)

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE)
    .icon(BitmapDescriptorFactory
        .defaultMarker(hue)));
Run Code Online (Sandbox Code Playgroud)

您可以提供0到360之间的任何色调值,此处定义了一些常量(https://developers.google.com/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory)

最好的办法!找到所需的色调(符合您所需的颜色).

打开此图片 defult_pin 在Paint.Net/Photoshop编辑器(或其他)

在照片编辑器中转到色调选项并滑动色调栏并记下最佳匹配的色调值.

  • 对于Paint.net(调整 - >色相/饱和度)

  • 对于Photoshop(摄影 - >调整 - >色相/饱和度)

如果值大于0,则使用精确值,如果值小于0,则取值为postivie(绝对值),将其加到180并使用结果值.

在此输入图像描述