Правильный вызов метода buildRoadOverlay

Я хочу вызвать метод buildRoadOverlay (Метод в нижней части этого поста) от OSMdroid. Как правильно настроить параметры?

Этот метод строит маршрут на карте между двумя путевыми точками. Это работает, пока я опускаю цвет и ширину при вызове метода. Теперь я хочу, чтобы цвет был зеленым, а ширина - 20dp.

Вот как я это попробовал:

Polyline roadOverlay = RoadManager.buildRoadOverlay(road, 7667507, 20);

Приложение запускается без ошибок, но Line RoadOverlay больше не рисуется. Либо это, либо оно невидимо. Я не уверен.

Метод, который я хочу вызвать:

public static Polyline buildRoadOverlay(Road road, int color, float width){
        Polyline roadOverlay = new Polyline();
        roadOverlay.setColor(color);
        roadOverlay.setWidth(width);
        if (road != null) {
            ArrayList<GeoPoint> polyline = road.mRouteHigh;
            roadOverlay.setPoints(polyline);
        }
        return roadOverlay;
    }

1 ответ

Решение

Цвет - это цвет Android. ширина - это число с плавающей точкой в ​​пикселях. Так что постарайтесь:

Polyline roadOverlay = RoadManager.buildRoadOverlay(road, Color.GREEN, 20.0f);

Рекомендуется придать некоторую прозрачность форме дороги, чтобы названия улиц, например, оставались видимыми. Так что это будет лучше:

Polyline roadOverlay = RoadManager.buildRoadOverlay(road, 0x8000FF00, 20.0f);

(и да, я прошу прощения за javadoc этого метода. Я улучшу его)

Другие вопросы по тегам