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); } }
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); }
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); }
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; }
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); }
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); }