Android рисует точку на холсте на основе GPS-координат - PullRequest
2 голосов
/ 10 марта 2012

Возможно ли это сделать?Я не очень хорош в рисовании вещей, у меня есть очень простой «класс Dot», который рисует круг, основанный на x и y, но кава находится в FrameLayout размером примерно с половиной моих эмулируемых 3,7 на экране.Излишне говорить, что у меня только около 150 на у и что-то вроде 200 на х (угадайте его пикселей).Есть ли способ масштабирования холста для рисования координат?

Желательно, чтобы мое местоположение отображалось в центре, а другие местоположения в моем диапазоне просмотра были нарисованы на основе моего местоположения.

Поэтому я в основном спрашиваю, есть ли способ масштабирования холста, чтобыкоординаты и позвольте мне указать этот масштаб.поэтому, если я нахожусь на 32.345 и -212.988765, это центр, и я могу видеть другие места в пределах, скажем, 10-километрового диапазона или что-то в этом роде.

Мой текущий класс точек:

    public class Dot extends View{
    private final float x;
    private final float y;
    private final int r = 5;
    private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

    public Dot(Context context, float x, float y) {
        super(context);
        mPaint.setColor(0xFFFF0000);
        this.x = x;
        this.y = y;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        canvas.drawCircle(x, y, r, mPaint);
    }


}

ОтчетностьGPS-координаты работают, а рисование работает, но только если оно находится в пределах диапазона холста прямо сейчас.

Просто чтобы прояснить, все в моем приложении работает и передаются правильные координаты, последнийЧасть, в которой я нуждаюсь, - это визуальное представление, и я понятия не имею, как заставить холст вести себя как карта.

Редактировать Другая проблема, с которой я сталкиваюсь, - это рисование, когда позиция обновляет егоконечно перерисовывает, но добавляет новый круг, оставляя старый все еще там.Как мне полностью обновить его, чтобы круг «двигался» вместо добавления нового?Я пытался вызвать инвалида в представлении, но ничего не сделал.

1 Ответ

0 голосов
/ 10 марта 2012

Вам нужно придумать формулу для перевода GPS-координат в координаты вашего холста. Похоже, этот вопрос близок к тому, что вам нужно: Расчет долготы и широты Меркатора по x и y на обрезанной карте (Великобритании)

...