コード例 #1
0
 private void CreateDashedLine(List <CLLocationCoordinate2D> points, MGLMapView mapView)
 {
     for (var i = 0; i < (points.Count - 1); i += 2)
     {
         var nextLine = new CLLocationCoordinate2D[2];
         nextLine[0] = points[i];
         nextLine[1] = points[i + 1];
         var polyline = MGLPolyline.PolylineWithCoordinates(ref nextLine[0], (nuint)nextLine.Length);
         mapView.AddAnnotation(polyline);
     }
 }
コード例 #2
0
    public static unsafe MGLPolyline PolylineWithCoordinates(CLLocationCoordinate2D[] coords)
    {
        MGLPolyline line = null;

        fixed(void *arrPtr = coords)
        {
            IntPtr ptr = new IntPtr(arrPtr);

            line = MGLPolyline.PolylineWithCoordinates(ptr, 2);
        }

        return(line);
    }
コード例 #3
0
        public void MapViewDidFinishLoadingMap(MGLMapView mapView)
        {
            var coordinates = new CLLocationCoordinate2D[] {
                new CLLocationCoordinate2D(latitude: mapView.CenterCoordinate.Latitude + 0.03, longitude: mapView.CenterCoordinate.Longitude - 0.02),
                new CLLocationCoordinate2D(latitude: mapView.CenterCoordinate.Latitude + 0.02, longitude: mapView.CenterCoordinate.Longitude - 0.03),
                new CLLocationCoordinate2D(latitude: mapView.CenterCoordinate.Latitude, longitude: mapView.CenterCoordinate.Longitude - 0.02),
                new CLLocationCoordinate2D(latitude: mapView.CenterCoordinate.Latitude - 0.01, longitude: mapView.CenterCoordinate.Longitude),
                new CLLocationCoordinate2D(latitude: mapView.CenterCoordinate.Latitude - 0.04, longitude: mapView.CenterCoordinate.Longitude + 0.01),
                new CLLocationCoordinate2D(latitude: mapView.CenterCoordinate.Latitude - 0.04, longitude: mapView.CenterCoordinate.Longitude + 0.04)
            };
            var polyline = MGLPolyline.PolylineWithCoordinates(ref coordinates[0], (nuint)coordinates.Length);

            mapView.AddAnnotation(polyline);
        }
コード例 #4
0
 MGLPolyline PolyLineWithCoordinates(LatLng[] positions)
 {
     if (positions == null || positions.Length == 0)
     {
         return null;
     }
     var first = positions[0].ToCLCoordinate();
     var output = MGLPolyline.PolylineWithCoordinates(ref first, 1);
     var i = 1;
     while (i < positions.Length)
     {
         var coord = positions[i].ToCLCoordinate();
         output.AppendCoordinates(ref coord, 1);
         i++;
     }
     return output;
 }
コード例 #5
0
        MGLPolyline PolyLineWithCoordinates(Position[] positions)
        {
            if (positions == null || positions.Length == 0)
            {
                return(null);
            }
            var first  = new CLLocationCoordinate2D(positions [0].Lat, positions [0].Long);
            var output = MGLPolyline.PolylineWithCoordinates(ref first, 1);
            var i      = 1;

            while (i < positions.Length)
            {
                var coord = new CLLocationCoordinate2D(positions [i].Lat, positions [i].Long);
                output.AppendCoordinates(ref coord, 1);
                i++;
            }
            return(output);
        }
コード例 #6
0
        MGLPolyline PolyLineWithCoordinates(Position[] positions)
        {
            if (positions == null || positions.Length == 0)
            {
                return(null);
            }
            var first  = positions[0].ToCLCoordinate();
            var output = MGLPolyline.PolylineWithCoordinates(ref first, 1);
            var i      = 1;

            while (i < positions.Length)
            {
                var     coord   = positions[i].ToCLCoordinate();
                NSArray nsarray = NSArray.FromObjects(coord);
                output.AppendCoordinates(nsarray, 1);
                i++;
            }
            return(output);
        }