【问题标题】:Change the color of polyline in android google map v2在android google map v2中更改折线的颜色
【发布时间】:2019-12-04 12:21:00
【问题描述】:

我从这个链接https://developers.google.com/maps/documentation/android/shapes#customizing_appearances找到了这段代码

Polyline line = map.addPolyline(new PolylineOptions()
    .add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734))
    .width(25)
    .color(Color.BLUE)
    .geodesic(true));

我的问题是 Color.Blue 中的 Color 返回一个错误,提示 The name Color does not exist in the current context.

【问题讨论】:

    标签: android google-maps google-maps-android-api-2


    【解决方案1】:

    只需在您的 colors 资源文件中定义一种颜色并执行以下操作:

    PolylineOptions rectLine = new PolylineOptions().width(4).color(context.getResources().getColor(R.color.cyan));
    

    非常适合我。

    【讨论】:

    • 我用过但还是.Color返回错误“Non-invocable member Android.Gms.Maps.Model.PolylineOptions.Color不能像方法一样使用”跨度>
    • 折线线 = map.addPolyline(new PolylineOptions() .add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734)) .width(25) .color(Resources. GetColorStateList(Resource.Color.blue)) .geodesic(true));
    • 我为彩色文件制作了一个xml文件
    【解决方案2】:

    我的问题已经解决了。

    首先我在我的值文件夹 Color.xml 中创建了一个 xml 文件

    Color.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="blue">#0000EE</color>
    </resources>
    

    然后在我的活动中

    Polyline line = map.addPolyline(new PolylineOptions()
        .Add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734))
        .InvokeColor(Resources.GetColor(Resource.Color.blue));
    

    【讨论】:

      【解决方案3】:

      试试这个:

      PolylineOptions lineOptions = new PolylineOptions();
      lineOptions.addAll(points);
      lineOptions.width(12);
      lineOptions.color(Color.BLUE); //this is for color
      lineOptions.geodesic(true);
      

      【讨论】:

        【解决方案4】:

        试试这个:

        PolylineOptions polyline_options = new PolylineOptions()
                                .addAll(arraylist_lat_lon).color(Color.GREEN).width(2);
        
                        polyline = googleMap.addPolyline(polyline_options);
        

        在此之前, 将 color xml 添加到您的 values 文件夹,并定义您想要的所有颜色。 就像这样:-

        <?xml version="1.0" encoding="utf-8"?>
        <resources>
        
           <color name="blue">#82CAFF</color>
            <color name="red">#FF0000</color>
            <color name="white">#FFFFFF</color>
            <color name="black">#000000</color>
            <color name="symptom_color_selected">#003366</color>
            <color name="reaction_color_selected">#003366</color>
            <color name="static_text_color">#003366</color>
            <color name="journal_entry_listitem_text_color">#003366</color>
            <color name="note_text_disabled">#333333</color>
            <color name="blue">#0000FF</color>
            <color name="navy">#6699FF</color>
            <color name="sky">#0099CC</color>
            <color name="gray">#808080</color>
            <color name="lightgray">#e7e7e7</color>
            <color name="lightgray02">#bfbfbf</color>
            <color name="dark">#000015</color>
            <color name="lightgreen">#336666</color>
            <color name="orrange">#e33d1b</color>
            <color name="darkorrange">#cc2303</color>
            <color name="pressed_color">#FF8E4067</color>
            <color name="focussed_color">#DD8E4067</color>
        
        </resources>
        

        【讨论】:

          【解决方案5】:

          试试这个,为我工作。

          lineOptions = new PolylineOptions();
          lineOptions.color(ContextCompat.getColor(getApplicationContext(),R.color.colorPrimary));
          

          【讨论】:

            【解决方案6】:

            不要创建太多简短的Polylines,只需创建一个像这里这样的:

            PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
            

            这里,设置geodesic(true)是否绘制线的每一段 是否作为测地线。

            【讨论】:

              【解决方案7】:

              另一个可行的解决方案是:

              import android.graphics.Color;
              

              然后使用:

              Color.BLUE
              

              像你第一次那样代表蓝色。无需创建 Color.xml 文件。

              【讨论】:

                【解决方案8】:

                对我有用的就是这样:

                                      lineoptions.color(getResources().getColor(R.color.colorP));
                

                colorP 在哪里:

                <?xml version="1.0" encoding="utf-8"?><resources><color name="colorP">#ff8100</color></resources>
                

                在颜色文件中

                【讨论】:

                  【解决方案9】:

                  Android 6.0 的正确答案是直接使用R.color

                  PolylineOptions rectLine = new PolylineOptions().width(4).color(R.color.cyan);
                  

                  【讨论】:

                    猜你喜欢
                    • 2013-05-11
                    • 2020-03-20
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-12-29
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-09-27
                    相关资源
                    最近更新 更多