protected override void ChangeMap() { if (base._map != null) { int i; if (int.TryParse(_hiddenServiceName.ToCharArray()[_hiddenServiceName.Length - 1].ToString(), out i))//if last char of _hiddenServiceName is int { ServiceManager.DeleteService(_port, _hiddenServiceName); } else { _hiddenServiceName = _hiddenServiceName + ServiceManager.PortEntities[_port].ServiceProvider.Services.Count(service => service.Key.Contains(_hiddenServiceName)).ToString();//INTERNALDOWNLOAD0,INTERNALDOWNLOAD1... } _pbsService = new PBSService(_hiddenServiceName, "", _port, SelectedDatasourceType, "", false, true, true, VisualStyle.None, null); ServiceManager.PortEntities[_port].ServiceProvider.Services.Add(_pbsService.ServiceName, _pbsService); _map.Layers.RemoveAt(0); BaiduTileLayer l = new BaiduTileLayer() { baseUrl = _pbsService.UrlArcGIS }; _map.Layers.Insert(0, l); Util.Envelope initial = _pbsService.DataSource.TilingScheme.InitialExtent; initalExtend = new ESRI.ArcGIS.Client.Geometry.Envelope(initial.XMin, initial.YMin, initial.XMax, initial.YMax); } }
private void ChangeMap() { if (_map != null) { int i; if (int.TryParse(_hiddenServiceName.ToCharArray()[_hiddenServiceName.Length - 1].ToString(), out i))//if last char of _hiddenServiceName is int { ServiceManager.DeleteService(_port, _hiddenServiceName); } else { _hiddenServiceName = _hiddenServiceName + ServiceManager.PortEntities[_port].ServiceProvider.Services.Count(service => service.Key.Contains(_hiddenServiceName)).ToString();//INTERNALDOWNLOAD0,INTERNALDOWNLOAD1... } _pbsService = new PBSService(_hiddenServiceName, "", _port, SelectedDatasourceType, false, true, true, VisualStyle.None, null); ServiceManager.PortEntities[_port].ServiceProvider.Services.Add(_pbsService.ServiceName, _pbsService); _map.Layers.RemoveAt(0); ArcGISTiledMapServiceLayer l = new ArcGISTiledMapServiceLayer() { Url = _pbsService.UrlArcGIS }; _map.Layers.Insert(0, l); } }
public PreviewWindow(PBSService service) { InitializeComponent(); _service = service; //for MAC and mbtiles and those whose wkid=102100 and which doesn't has initialextent if ((service.DataSource.Type == DataSourceTypePredefined.MobileAtlasCreator.ToString() && Math.Abs(service.DataSource.TilingScheme.InitialExtent.XMin + 20037508.3427892) < 0.1) || (service.DataSource.Type == DataSourceTypePredefined.MBTiles.ToString() && Math.Abs(service.DataSource.TilingScheme.InitialExtent.XMin + 20037508.3427892) < 0.1) || (service.DataSource.Type == DataSourceTypePredefined.RasterImage.ToString() && (service.DataSource.TilingScheme.WKID == 102100 || service.DataSource.TilingScheme.WKID == 3857)) || (service.DataSource.Type == DataSourceTypePredefined.ArcGISDynamicMapService.ToString() && (service.DataSource.TilingScheme.WKID == 102100 || service.DataSource.TilingScheme.WKID == 3857))) { ArcGISTiledMapServiceLayer streetLayer = new ArcGISTiledMapServiceLayer() { Url = "http://www.arcgisonline.cn/ArcGIS/rest/services/ChinaOnlineStreetGray/MapServer" }; streetLayer.InitializationFailed += (s, a) => { string innerMessage = (s as ArcGISTiledMapServiceLayer).InitializationFailure.InnerException == null ? string.Empty : (s as ArcGISTiledMapServiceLayer).InitializationFailure.InnerException.Message; string message = "ArcGIS Online World Street Map" + "\r\n" + (s as ArcGISTiledMapServiceLayer).InitializationFailure.Message; if (innerMessage != string.Empty) { message += "\r\n" + innerMessage; } MessageBox.Show(message); }; map1.Layers.Add(streetLayer); CheckBox chkbox = new CheckBox() { Content = FindResource("tbDisplayBasemap").ToString(), FontSize = 20, FontFamily = new FontFamily("Bold"), Foreground = new SolidColorBrush(Colors.White) }; Binding b = new Binding("Visible"); b.Source = map1.Layers[0]; chkbox.SetBinding(CheckBox.IsCheckedProperty, b); StackPanel sp = new StackPanel() { Background = new SolidColorBrush(Colors.DodgerBlue), VerticalAlignment = VerticalAlignment.Top, HorizontalAlignment = HorizontalAlignment.Right, }; sp.Children.Add(chkbox); GridLeft.Children.Add(sp); } //add PBS Service layer ArcGISTiledMapServiceLayer pbsLayer = new ArcGISTiledMapServiceLayer() { Url = service.UrlArcGIS, ID = "PBSLayer" }; pbsLayer.InitializationFailed += (s, a) => { MessageBox.Show("PBSLayer" + "\r\n" + (s as ArcGISTiledMapServiceLayer).InitializationFailure.Message + "\r\n" + (s as ArcGISTiledMapServiceLayer).InitializationFailure.InnerException.Message); }; //pbsLayer.Initialized+=(s,a)=>{ // map1.ZoomTo(pbsLayer.InitialExtent); //}; //add grid _service.DataSource.TileLoaded += new EventHandler <TileLoadEventArgs>(pbsLayer_TileLoaded); map1.Layers.Add(pbsLayer); _gLayer = new GraphicsLayer(); map1.Layers.Add(_gLayer); _gLayer.Visible = false; serviceDetail1.DataContext = service; //set LODs's text StringBuilder sbLODs = new StringBuilder(); foreach (LODInfo lod in service.DataSource.TilingScheme.LODs) { sbLODs.Append("Level:" + lod.LevelID + ", Scale:" + lod.Scale + ", Resolution:" + lod.Resolution + "\r\n"); } string str = sbLODs.ToString(); str = str.Remove(str.Length - 2);//remove last \r \n serviceDetail1.tbTSLODs.Text = str; }
public MemcachedService(bool isChecked, PBSService service) { IsChecked = isChecked; PBSService = service; }