Как нарисовать линию между PointF в списке - PullRequest
0 голосов
/ 29 января 2019

Я только начинаю с xamarin для Android.Я создаю приложение, в котором человек может видеть трек, по которому он шел, на карте.Карта написана от руки с растровым изображением (это требование, так как это школьное задание).Мне нужно сохранить точки (что я и сделал в списке) и нарисовать точки и линии между точками, чтобы создать дорожку.

Проблема в том, что у меня есть метод foreach для рисования всех точек, мне просто нужно нарисовать линии между точками.Я не знаю, как убедиться, что у меня есть реестр предыдущих точек и новых точек, чтобы я мог поместить координаты в метод drawLine.

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

        paint.Color = Color.Magenta;
        PointF previousPoint;
        foreach (PointF p in track)
        {
            Console.WriteLine("works");
            // p is a track-point in RD-meters
            // calculates distance to centre bitmap
            float bpx = (p.X - centrePos.X) * 0.4f;
            float bpy = (centrePos.Y - p.Y) * 0.4f;
            // converter to screen pixels
            float sx = bpx * this.Proportion;
            float sy = bpy * this.Proportion;
            // calculate to absolute scherm-pixels
            float x = this.Width / 2 + sx;
            float y = this.Height / 2 + sy;
            canvas.DrawCircle(x, y, 10, paint);

            previousPoint = p;

            //draws the lines between the points
            canvas.DrawLine(previousPoint.X, previousPoint.Y, x, y, verf);
        }

, так что теперь previousPoint и p одинаковы, и они должны быть больше похожи на p1 и p2, но рассчитаны для совпадения с тем же центром, как описано в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...