在android google map v2中更改折线的颜色

时间:2014-02-06 02:20:27

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

我在此链接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不存在。

9 个答案:

答案 0 :(得分:5)

只需在colors资源文件中定义颜色即可:

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

非常适合我。

答案 1 :(得分:3)

我已经解决了我的问题。

首先,我在我的值文件夹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));

答案 2 :(得分:2)

试试这个:

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

                polyline = googleMap.addPolyline(polyline_options);

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

<?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>

答案 3 :(得分:2)

试试这个:

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

答案 4 :(得分:1)

而不是创建太多的短Polylines,而只需创建一个像这样:

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

此处,设置geodesic(true)是否绘制线条的每个线段   作为测地线与否。

答案 5 :(得分:1)

另一个有效的解决方案是:

import android.graphics.Color;

然后使用:

Color.BLUE

代表你第一次做的蓝色。无需创建Color.xml文件。

答案 6 :(得分:1)

试试这个,为我工作。

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

答案 7 :(得分:0)

对我有用的是:

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

colorP是:

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

在彩色文件中

答案 8 :(得分:0)

从Android 6.0开始,正确的答案是直接使用R.color

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