private void Map1_Loaded(object sender, RoutedEventArgs e) { Map1.MapUnit = GeoUnit.Meter; Map1.UseOpenStreetMapAsBaseMap(); GeoLine greatCircle = CreateGreatCircle(); MemoryLayer baselineLayer = new MemoryLayer { Name = "BaseLineLayer" }; baselineLayer.Styles.Add(new LineStyle(GeoColors.White, 8)); baselineLayer.Styles.Add(new LineStyle(GeoColor.FromHtml("#88FAB04D"), 4)); baselineLayer.Features.Add(new Feature(greatCircle)); Map1.AddStaticLayers(baselineLayer); Stream airplaneIconStream = Application.GetResourceStream(new Uri("/SlimGis.WpfSamples;component/Images/airplane.png", UriKind.RelativeOrAbsolute)).Stream; MemoryLayer highlightLayer = new MemoryLayer { Name = "HighlightLayer" }; highlightLayer.Styles.Add(new LineStyle(GeoColor.FromHtml("#9903A9F4"), 4)); highlightLayer.Styles.Add(new IconStyle(new GeoImage(airplaneIconStream)) { AspectRatio = 0.6667 }); Map1.AddDynamicLayers("HighlightOverlay", highlightLayer); GeoBound bound = baselineLayer.GetBound(); bound.ScaleUp(25); Map1.ZoomTo(bound); }
private async void wpfMap_Loaded(object sender, RoutedEventArgs e) { Map1.MapUnit = GeoUnit.Meter; LayerOverlay baseOverlay = new LayerOverlay(); baseOverlay.Name = "Base Maps"; Map1.Overlays.Add(baseOverlay); OpenStreetMapLayer baseLayer = new OpenStreetMapLayer(); baseOverlay.Layers.Add(baseLayer); routeLine = new GeoLine("LINESTRING(2121735.25 6023143.5,2121641.25 6023344,2121161.25 6023667,2121192.75 6025693,2121255.5 6025818.5,2122127.25 6024946.5,2121986.25 6024802.5,2122262.25 6024536,2122014.5 6024363.5,2122691.75 6023497.5,2121754 6023137)"); routeLength = routeLine.GetLength(GeoUnit.Meter, LengthUnit.Kilometer); MemoryLayer routeLayer = new MemoryLayer(); routeLayer.Styles.Add(new LineStyle(GeoColor.FromRgba(GeoColors.SkyBlue, 180), 10)); routeLayer.Features.Add(new Feature(routeLine)); Map1.AddStaticLayers("Route Line", routeLayer); Marker vehicle = new Marker(); vehicle.DropShadow = false; vehicle.OffsetY = 4; vehicle.RenderTransform = new RotateTransform { CenterX = 17, CenterY = 7, Angle = -90 }; vehicle.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Images/vehicle-red.png", UriKind.RelativeOrAbsolute)); vehicle.Location = routeLine.Coordinates.First(); Map1.Placements.Add(vehicle); GeoBound bound = routeLayer.GetBound(); bound.ScaleUp(40); Map1.ZoomTo(bound); projection = new Proj4Projection(SpatialReferences.GetSphericalMercator(), SpatialReferences.GetWgs84()); UpdateLonLat(new GeoPoint(vehicle.Location)); }
private void WpfMap_Loaded(object sender, RoutedEventArgs e) { Map1.MapUnit = GeoUnit.Meter; gpsScene = new GpsScene(Map1.MapUnit); Map1.UseOpenStreetMapAsBaseMap(); var routeLayer = new MemoryLayer(); routeLayer.Styles.Add(new LineStyle(GeoColor.FromRgba(GeoColors.SkyBlue, 180), 10)); Map1.AddStaticLayers("Route Line", routeLayer); var routeDataStream = Application.GetResourceStream(new Uri("pack://application:,,,/Resources/routes.txt")).Stream; var speedRandom = new Random(); using (var streamReader = new StreamReader(routeDataStream)) { var routeData = streamReader.ReadToEnd().Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < routeData.Length; i++) { GeoLine route = new GeoLine(routeData[i]); routeLayer.Features.Add(new Feature(route)); Marker vehicle = GetVehicle(i, route); Map1.Placements.Add(vehicle); GpsSprite gpsSprite = new GpsSprite(vehicle); gpsScene.Fps = 60; gpsSprite.SpeedInKph = speedRandom.Next(40, 120); gpsSprite.Route = route; gpsScene.Sprites.Add(gpsSprite); } } GeoBound bound = routeLayer.GetBound(); bound.ScaleUp(40); Map1.ZoomTo(bound); }