Exemplo n.º 1
0
        internal void DrawLine(SKMapPosition start, SKMapPosition end, SKPaint paint, bool shortLine = true)
        {
            Tuple <SKMapPosition, SKMapPosition> line       = new Tuple <SKMapPosition, SKMapPosition>(start, end);
            Tuple <SKPoint, SKPoint>             canvasLine = ConvertLineToLocal(line, shortLine);

            _Canvas.DrawLine(canvasLine.Item1.X, canvasLine.Item1.Y, canvasLine.Item2.X, canvasLine.Item2.Y, ScaleStrokeForPlatform(paint));
        }
Exemplo n.º 2
0
        public static CLLocationCoordinate2D ToLocationCoordinate(this SKMapPosition self)
        {
            Position position = new Position(self.Latitude,
                                             (self.Longitude + MapSpanExtensions.MaxLongitude) %
                                             MapSpanExtensions.WorldLongitude +
                                             MapSpanExtensions.MinLongitude);

            return(position.ToLocationCoordinate());
        }
Exemplo n.º 3
0
        public static Point ToMercator(this SKMapPosition gpsCoords)
        {
            double x = (gpsCoords.Longitude + MapSpanExtensions.MaxLongitude) / MapSpanExtensions.WorldLongitude * MercatorMapSize;
            double y = MercatorCenterOffset -
                       MercatorRadius *
                       Math.Log((1 + Math.Sin(gpsCoords.Latitude * Math.PI / 180.0)) /
                                (1 - Math.Sin(gpsCoords.Latitude * Math.PI / 180.0))) /
                       2.0;

            return(new Point(x, y));
        }
Exemplo n.º 4
0
        public static Rectangle ToMercator(this SKMapSpan gpsSpan)
        {
            SKMapPosition topLeftGps        = gpsSpan.TopLeft;
            SKMapPosition bottomRightGps    = gpsSpan.BottomRight;
            Point         canvasTopLeft     = topLeftGps.ToMercator();
            Point         canvasBottomRight = bottomRightGps.ToMercator();

            return(new Rectangle(canvasTopLeft.X,
                                 canvasTopLeft.Y,
                                 canvasBottomRight.X - canvasTopLeft.X,
                                 canvasBottomRight.Y - canvasTopLeft.Y));
        }
Exemplo n.º 5
0
 public static LatLng ToLatLng(this SKMapPosition self)
 {
     return(new LatLng(self.Latitude, self.Longitude));
 }
Exemplo n.º 6
0
        public static Position ToGps(this Point mercatorCoords)
        {
            SKMapPosition mapPosition = mercatorCoords.ToSKMapPosition();

            return(new Position(mapPosition.Latitude, mapPosition.Longitude));
        }