【问题标题】:How to change the google maps marker color to grey in android如何在android中将谷歌地图标记颜色更改为灰色
【发布时间】:2018-03-29 23:57:18
【问题描述】:

我已经知道的事情

  • 1) 创建 MarkerOptions 对象。
  • 2) 使用object.icon(BitmapDescriptorFactory.defaultMarker(<color value>));
  • 3) 颜色值是色调颜色值。 Google 指定了一些标准颜色值(HUE.BLUE、HUE.AZURE 等)
  • 4) 要获得所需的颜色,请选择 0 到 360 之间的值。0 为红色,90 为青色,270 为紫色

我需要什么? 灰色的这个特定的浮点值

我的研究:Color wheel 灰色不包括在 HUE 颜色中。它在音调中。那么如何访问色调中的颜色值。

【问题讨论】:

    标签: android colors google-maps-markers


    【解决方案1】:

    没有灰色可用作色调。所以一种方法是抓取一个标记 png 并修改为灰色(外部),就像在这个快照中一样(这是所有的色调加上顶部的特殊灰色)。从资源创建 BitmapDescriptor:

    (对于灰色 png 将透明颜色设置为白色。)

    相关代码(对答案不是必需的):

    public void createMarkers() {
        LatLng pos = new LatLng(38.547279, -121.46101);
        for (int i = 0; i < 360; i++) {
            mMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.defaultMarker(i)).position(pos));
            double lat = pos.latitude;
            double lng = pos.longitude;
            lng += 0.01;
            if ((i + 1) % 40 == 0) {
                lng = -121.46101;
                lat = pos.latitude + 0.01;
            }
            pos = new LatLng(lat,lng);
    
        }
        double lat = pos.latitude + 0.01;
        pos = new LatLng(lat, pos.longitude);
        BitmapDescriptor bd = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_marker);
        mMap.addMarker(new MarkerOptions().icon(bd).position(pos));
    
    }
    

    【讨论】:

      【解决方案2】:

      对于我们这些真正想要使用现有色调颜色的人,您可以执行以下操作:

      
      fun MapFragment.addGreenMarker(latLng: LatLng) {
          getMap()?.apply {
              addMarker(
                  MarkerOptions()
                      .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
                      .position(latLng)
                      .draggable(true)
              )
          }
      }
      
      

      【讨论】:

        【解决方案3】:
        1. 查找 Google 现有的地图图标之一 - 可能是 .png。
        2. 将其安装到您的系统中并使用您的图形程序进行更改,即。 GIMP。不要失去它的透明度。
        3. 根据 Android Studio 的命名规则保存它 - 即。没有连字符。
        4. 在 Android Studio 中,右键单击 res/drawable 文件夹。
        5. 点击在资源管理器中显示。
        6. 进入drawable文件夹。
        7. 将新图标复制/粘贴到 res/drawable 文件夹中 - 不用担心它是 .png 文件,而文件夹中的其他图标是 .xml 文件。
        8. 关闭资源管理器窗口。
        9. 要在您的应用程序中使用 - 假设文件名为 gray_dot.pngmMarkerOptions.position(beachCoord).title("marker title").sn-p("marker info").icon(BitmapDescriptorFactory.fromResource(R.drawable.gray_dot));

        当您输入 R.drawable.gr... - 它显示时没有 .png 扩展名。

        运行您的应用。基本测试表明,图标大小在平板电脑和手机上运行良好,无需担心分辨率不同。我将进行更多测试,以确保这对于更高的分辨率仍然适用。

        【讨论】:

          猜你喜欢
          • 2018-04-27
          • 2018-02-16
          • 1970-01-01
          • 1970-01-01
          • 2012-06-19
          • 2011-01-28
          • 1970-01-01
          • 2015-12-15
          • 1970-01-01
          相关资源
          最近更新 更多