void ArcgisMapLoaded(object sender, RoutedEventArgs e) { timer.Duration = new TimeSpan(0, 0, 0, 0, 500); Dtimer.Duration = new TimeSpan(0, 0, 0, 15); Ltimer.Duration = new TimeSpan(0, 0, 0, 45); var ml = new WuXiMapLayer(); var MOml = new WuXiMapLayer(); var gmap = new GoogleMap(); var ly = new realLayer(); var osm = new OpenStreetMapLayer(); var cd = new ClientDynamicTileMapServiceLayer(); var myGraphicsLayer = new GraphicsLayer { ID = "MyGraphicsLayer" }; var myLineLayer = new GraphicsLayer { ID = "MyLineLayer" }; MyMap.Layers.Add(ml); MyMap.Layers.Add(ly); MyMap.Layers.Add(myLineLayer); MyMap.Layers.Add(myGraphicsLayer); MyOverviewMap.Layer = MOml; AddPictureMarker(); }
private void RadioButton_Click(object sender, System.Windows.RoutedEventArgs e) { OpenStreetMapLayer osmLayer = MyMap.Layers["OSMLayer"] as OpenStreetMapLayer; string layerTypeTag = (string)((RadioButton)sender).Content; OpenStreetMapLayer.MapStyle newLayerType = (OpenStreetMapLayer.MapStyle)System.Enum.Parse(typeof(OpenStreetMapLayer.MapStyle), layerTypeTag, true); osmLayer.Style = newLayerType; }
public override void SwitchBaseMapLayer(Client.Layer oldLayer, Core.BaseMapInfo newBaseMapInfo) { OpenStreetMapLayer osmLayer = oldLayer as OpenStreetMapLayer; if (osmLayer != null) { osmLayer.Style = getMapStyle(newBaseMapInfo); osmLayer.SetValue(ESRI.ArcGIS.Client.Extensibility.MapApplication.LayerNameProperty, newBaseMapInfo.DisplayName); } }
protected override void WriteAttributes(Layer layer) { base.WriteAttributes(layer); OpenStreetMapLayer osmLayer = layer as OpenStreetMapLayer; if (osmLayer != null) { if (osmLayer.Style != OpenStreetMapLayer.MapStyle.Mapnik) { writer.WriteAttributeString("Style", osmLayer.Style.ToString()); } } }
public void ShowWithOsmLayer() { var map = new Map(); var layer = new OpenStreetMapLayer(); map.Layers.Add(layer); var mapControl = new MapControl { Map = map, AllowDrop = false }; WindowsFormsTestHelper.ShowModal(mapControl); }
private void Map1_Loaded(object sender, RoutedEventArgs e) { Map1.MapUnit = GeoUnit.Meter; OpenStreetMapLayer openStreetMapLayer = new OpenStreetMapLayer(); LayerOverlay layerOverlay = new LayerOverlay(); layerOverlay.Layers.Add(openStreetMapLayer); Map1.Overlays.Add(layerOverlay); // We can also use the code below to add a google maps to our map. // Map1.UseOpenStreetMapAsBaseMap(); Map1.ZoomToFullBound(); }
private async void DoUpdateBasemap(object obj) { try { var item = obj as ArcGISPortalItem; if (item != null) { var webmap = await WebMap.FromPortalItemAsync(item); while (_mapView.Map.Layers.Any(l => l.ID == "basemap")) { _mapView.Map.Layers.Remove("basemap"); } foreach (var s in webmap.Basemap.Layers.Reverse()) { switch (s.LayerType) { case WebMapLayerType.ArcGISTiledMapServiceLayer: case WebMapLayerType.Unknown: _mapView.Map.Layers.Insert(0, new ArcGISTiledMapServiceLayer(new Uri(s.Url)) { ID = "basemap" }); break; case WebMapLayerType.OpenStreetMap: var layer = new OpenStreetMapLayer() { ID = "basemap" }; _mapView.Map.Layers.Insert(0, layer); break; default: break; } } } } catch (Exception) { } }
public void PanZoomUsingMouseWheelTest() { var map = new Map(); var layer = new OpenStreetMapLayer(); map.Layers.Add(layer); var mapControl = new MapControl { Map = map, AllowDrop = false }; var tool = new PanZoomUsingMouseWheelTool(); mapControl.ActivateTool(tool); WindowsFormsTestHelper.ShowModal(mapControl); }
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)); }
internal static void AddBaseOverlays(WpfMap map, SimplifyMapPrinterLayer mapPrinterLayer) { var osmOverlay = map.Overlays.OfType <OpenStreetMapOverlay>().FirstOrDefault(); if (osmOverlay != null && osmOverlay.IsVisible) { OpenStreetMapLayer osmLayer = new OpenStreetMapLayer(); osmLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; osmLayer.TimeoutInSeconds = 5; osmLayer.DrawingException += new EventHandler <DrawingExceptionLayerEventArgs>(osmLayer_DrawingException); mapPrinterLayer.Layers.Add(osmLayer); } var bingOverlay = map.Overlays.OfType <BingMapsOverlay>().FirstOrDefault(); if (bingOverlay != null && bingOverlay.IsVisible) { BingMapsLayer bingMapsLayer = new BingMapsLayer(bingOverlay.ApplicationId, (Layers.BingMapsMapType)bingOverlay.MapType); bingMapsLayer.TileCache = null; bingMapsLayer.TimeoutInSeconds = 5; bingMapsLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; bingMapsLayer.DrawingException += new EventHandler <DrawingExceptionLayerEventArgs>(BingMapsLayer_DrawingException); mapPrinterLayer.Layers.Add(bingMapsLayer); } var wmlkOverlay = map.Overlays.OfType <WorldMapKitMapOverlay>().FirstOrDefault(); if (wmlkOverlay != null && wmlkOverlay.IsVisible) { WorldMapKitLayer worldMapKitLayer = new WorldMapKitLayer(wmlkOverlay.ClientId, wmlkOverlay.PrivateKey); worldMapKitLayer.TimeoutInSecond = 5; worldMapKitLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; worldMapKitLayer.DrawingException += new EventHandler <DrawingExceptionLayerEventArgs>(WorldMapKitLayer_DrawingException); worldMapKitLayer.TileCache = null; worldMapKitLayer.Projection = wmlkOverlay.Projection; mapPrinterLayer.Layers.Add(worldMapKitLayer); } }
public override void Execute(object parameter) { FeatureLayer fl = Layer as FeatureLayer; if (fl != null) { navigateToUrl(Utility.CreateUriWithProxy(fl.ProxyUrl, fl.Url)); return; } ArcGISDynamicMapServiceLayer dynLayer = Layer as ArcGISDynamicMapServiceLayer; if (dynLayer != null) { navigateToUrl(Utility.CreateUriWithProxy(dynLayer.ProxyURL, dynLayer.Url)); return; } ArcGISImageServiceLayer imageLayer = Layer as ArcGISImageServiceLayer; if (imageLayer != null) { navigateToUrl(Utility.CreateUriWithProxy(imageLayer.ProxyURL, imageLayer.Url)); return; } ArcGISTiledMapServiceLayer tiledLayer = Layer as ArcGISTiledMapServiceLayer; if (tiledLayer != null) { navigateToUrl(Utility.CreateUriWithProxy(tiledLayer.ProxyURL, tiledLayer.Url)); return; } GeoRssLayer geoRssLayer = Layer as GeoRssLayer; if (geoRssLayer != null) { if (geoRssLayer.Source != null) { navigateToUrl(geoRssLayer.Source.AbsoluteUri); } return; } WmsLayer wmsLayer = Layer as WmsLayer; if (wmsLayer != null) { string url = wmsLayer.Url; if (!string.IsNullOrEmpty(url)) { if (!url.Contains("?")) { url += "?"; } else { url += "&"; } if (url.IndexOf("request=GetCapabilities", StringComparison.OrdinalIgnoreCase) < 0) { url += "request=GetCapabilities"; } if (!string.IsNullOrEmpty(wmsLayer.Version) && url.IndexOf("version=", StringComparison.OrdinalIgnoreCase) < 0) { url += "&version=" + wmsLayer.Version; } navigateToUrl(Utility.CreateUriWithProxy(wmsLayer.ProxyUrl, url)); } return; } OpenStreetMapLayer osmLayer = Layer as OpenStreetMapLayer; if (osmLayer != null) { navigateToUrl("http://www.openstreetmap.org"); return; } ESRI.ArcGIS.Client.Bing.TileLayer bingLayer = Layer as ESRI.ArcGIS.Client.Bing.TileLayer; if (bingLayer != null) { navigateToUrl("http://www.bing.com/maps/"); return; } ICustomGraphicsLayer customGraphicsLayer = Layer as ICustomGraphicsLayer; if (customGraphicsLayer != null && customGraphicsLayer.SupportsNavigateToServiceDetailsUrl()) { Uri uri = customGraphicsLayer.GetServiceDetailsUrl(); if (uri != null) { navigateToUrl(uri.AbsoluteUri); } return; } }
public OSMTileServers() { InitializeComponent(); osmLayer = MyMap.Layers["OSMLayer"] as OpenStreetMapLayer; }
/// <summary> /// Determines the map units for the map /// </summary> /// <param name="map">The map to find map units for</param> /// <param name="onComplete">The method to invoke once map units have been retrieved</param> /// <param name="onFailed">The method to invoke when map unit retrieval fails</param> public static void GetMapUnitsAsync(this Map Map, Action <LengthUnits> onComplete, Action onFailed = null) { if (Map != null) { Layer layer = Map.Layers.FirstOrDefault(); if (layer != null) { TileLayer tiledLayer = layer as TileLayer; if (tiledLayer != null) { // Bing is web mercator onComplete(LengthUnits.UnitsMeters); } else { OpenStreetMapLayer osmLayer = layer as OpenStreetMapLayer; if (osmLayer != null) { // Open Streem map is web mercator onComplete(LengthUnits.UnitsMeters); } else { // ArcGIS Server Base Map string units = null; string layerUrl = null; ArcGISTiledMapServiceLayer agsTiledlayer = layer as ArcGISTiledMapServiceLayer; if (agsTiledlayer != null) { units = agsTiledlayer.Units; layerUrl = agsTiledlayer.Url; } else { ArcGISDynamicMapServiceLayer agsDynamicLayer = layer as ArcGISDynamicMapServiceLayer; if (agsDynamicLayer != null) { units = agsDynamicLayer.Units; layerUrl = agsDynamicLayer.Url; } else { ArcGISImageServiceLayer agsImageLayer = layer as ArcGISImageServiceLayer; if (agsImageLayer != null) { layerUrl = agsImageLayer.Url; } } } if (!string.IsNullOrEmpty(units)) { units = units.Replace("esri", "Units"); // replace esri prefix if (Enum.IsDefined(typeof(LengthUnits), units)) { onComplete((LengthUnits)Enum.Parse(typeof(LengthUnits), units, true)); } else if (onFailed != null) { onFailed(); } } else if (!string.IsNullOrEmpty(layerUrl)) { ArcGISService.GetServiceInfoAsync(layerUrl, null, (o, e) => { if (e.Service != null && !string.IsNullOrEmpty(e.Service.Units)) { string serviceUnits = e.Service.Units; serviceUnits = serviceUnits.Replace("esri", "Units"); // replace esri prefix if (Enum.IsDefined(typeof(LengthUnits), serviceUnits)) { onComplete((LengthUnits)Enum.Parse(typeof(LengthUnits), serviceUnits, true)); } else if (onFailed != null) { onFailed(); } } }); return; } } } } } }