2014-02-06 4 views
1

У меня есть этот код найдено по этой ссылке https://developers.google.com/maps/documentation/android/shapes#customizing_appearancesИзменение цвета полилинии в андроида Google Map v2

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 возвращает ошибку, говорящую Имя Цвет не существуют в текущем контексте.

ответ

2

Я уже решить мою проблему.

Сначала я создал файл XML в моей папке значений Color.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

Просто определить цвет в файле colors ресурсов и сделать это:

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

Работает отлично подходит для меня.

+0

Я использовал его, но до сих пор **.Цвет ** возвращает ошибку «Неисключаемый элемент Android.Gms.Maps.Model.PolylineOptions.Color не может использоваться как метод» – fulgen

+0

Можете ли вы показать обновленный код? –

+0

Ломаная линия = map.addPolyline (новые PolylineOptions() .add (новый LatLng (-37,81319, 144,96298), новый LatLng (-31,95285, 115,85734)) .width (25) .color (Resources.GetColorStateList (ресурсов. Color.blue)) .geodesic (true)); – fulgen

1

Вместо того чтобы создавать слишком много коротких Polylines просто создать один, как здесь:

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

Здесь, устанавливает геодезическую (истина), нужно ли рисовать каждый сегмент линии в качестве геодезической или нет.

2

Попробуйте это:

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

       polyline = googleMap.addPolyline(polyline_options); 

Перед этим добавить цвет 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> 
1

Другой рабочий раствор:

import android.graphics.Color; 

, а затем использовать:

Color.BLUE 

представлять синий цвет, как вы делали в кулак время. Не нужно создавать файл Color.xml.

1

Попробуйте это, работайте для меня.

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

То, что сработало для меня было именно это:

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

Где colorP является:

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

в цвете файла

Смежные вопросы