Карта Android Google: изменение цвета маркера карты

Короче говоря; Я подключился к устройству Bluetooth, чтобы измерить мощность сигнала других устройств в этом районе, а затем зарегистрировал координаты GPS в приложении для Android.

Я размещаю позиции на карте Google в своем приложении, но я бы хотел, чтобы маркер менял цвет в зависимости от значения силы сигнала (0-255) с красного на зеленый или что-то в этом роде.

Я думаю, мне нужно сделать свой собственный Drawable в приложении или изменить то, что есть в:

Drawable drawable = this.getResources().getDrawable(R.drawable.marker);

Но я не могу найти способ рисовать маркеры в приложении для Android.

Любые идеи?


person IQn    schedule 07.01.2013    source источник


Ответы (2)


Я думаю, вам нужно попробовать аналогичный код ниже, но он применим только для маркера по умолчанию, цвета будут меняться в зависимости от значения оттенка, это фрагмент из Google Maps API Demos:

    // Creates a marker rainbow demonstrating how to create default marker icons of different
    // hues (colors).
    int numMarkersInRainbow = 12;
    for (int i = 0; i < numMarkersInRainbow; i++) {
        mMap.addMarker(new MarkerOptions()
                .position(new LatLng(
                        -30 + 10 * Math.sin(i * Math.PI / (numMarkersInRainbow - 1)),
                        135 - 10 * Math.cos(i * Math.PI / (numMarkersInRainbow - 1))))
                .title("Marker " + i)
                .icon(BitmapDescriptorFactory.defaultMarker(i * 360 / numMarkersInRainbow)));
    }
person Balaji    schedule 19.06.2013

Вы используете GoogleMap? Если у вас отключена генерация Drawable, все, что вам нужно сделать, это подключить ее с помощью метода MarkerOptions.icon:

BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.resource);
MarkerOptions opts = new MarkerOptions().icon(descriptor);
this.getMap().addMarker(opts);

Это нарисует ваш рисунок на карте.

Вы при необходимости можно заменить fromResource на fromBitmap.

person yarian    schedule 13.02.2013