private void SizedBasedPointStyle_Click(object sender, EventArgs e) { FeatureLayer worldCapitalsLayer = mapView.FindFeatureLayer("WorldCapitals"); SizedPointStyle sizedpointStyle = new SizedPointStyle(PointStyle.CreateSimpleCircleStyle(GeoColors.Blue, 1), "population", 500000); worldCapitalsLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Clear(); worldCapitalsLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Add(sizedpointStyle); mapView.Refresh(); }
/// <summary> /// Setup the map with the ThinkGeo Cloud Maps overlay. Also, add the friscoParks, stadiumLayer, and /// shortestLineLayer layers into a grouped LayerOverlay and display it on the map. /// </summary> protected override void OnAppearing() { base.OnAppearing(); // Set the map's unit of measurement to meters(Spherical Mercator) mapView.MapUnit = GeographyUnit.Meter; // Add Cloud Maps as a background overlay var thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("9ap16imkD_V7fsvDW9I8r8ULxgAB50BX_BnafMEBcKg~", "vtVao9zAcOj00UlGcK7U-efLANfeJKzlPuDB9nw7Bp4K4UxU_PdRDg~~", ThinkGeoCloudVectorMapsMapType.Light); thinkGeoCloudVectorMapsOverlay.VectorTileCache = new FileVectorTileCache(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "cache"), "CloudMapsVector"); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); ShapeFileFeatureLayer friscoParks = new ShapeFileFeatureLayer(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Data/Shapefile/Parks.shp")); InMemoryFeatureLayer stadiumLayer = new InMemoryFeatureLayer(); InMemoryFeatureLayer shortestLineLayer = new InMemoryFeatureLayer(); LayerOverlay layerOverlay = new LayerOverlay(); // Project friscoParks layer to Spherical Mercator to match the map projection friscoParks.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Style friscoParks layer friscoParks.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(64, GeoColors.Green), GeoColors.DimGray); friscoParks.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Style stadiumLayer stadiumLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Blue, 16, GeoColors.White, 4); stadiumLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Style shortestLineLayer shortestLineLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Red, 2, false); shortestLineLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Add friscoParks layer to a LayerOverlay layerOverlay.Layers.Add("friscoParks", friscoParks); // Add stadiumLayer layer to a LayerOverlay layerOverlay.Layers.Add("stadiumLayer", stadiumLayer); // Add shortestLineLayer to the layerOverlay layerOverlay.Layers.Add("shortestLineLayer", shortestLineLayer); // Set the map extent mapView.CurrentExtent = new RectangleShape(-10782307.6877106, 3918904.87378907, -10774377.3460701, 3912073.31442403); // Add LayerOverlay to Map mapView.Overlays.Add("layerOverlay", layerOverlay); // Add Toyota Stadium feature to stadiumLayer var stadium = new Feature(new PointShape(-10779651.500992451, 3915933.0023557912)); stadiumLayer.InternalFeatures.Add(stadium); mapView.Refresh(); }
private void Form_Load(object sender, EventArgs e) { // Set the map's unit of measurement to meters(Spherical Mercator) mapView.MapUnit = GeographyUnit.Meter; // Add Cloud Maps as a background overlay var thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("itZGOI8oafZwmtxP-XGiMvfWJPPc-dX35DmESmLlQIU~", "bcaCzPpmOG6le2pUz5EAaEKYI-KSMny_WxEAe7gMNQgGeN9sqL12OA~~", ThinkGeoCloudVectorMapsMapType.Light); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); ShapeFileFeatureLayer friscoParks = new ShapeFileFeatureLayer(@"../../../Data/Shapefile/Parks.shp"); InMemoryFeatureLayer stadiumLayer = new InMemoryFeatureLayer(); InMemoryFeatureLayer shortestLineLayer = new InMemoryFeatureLayer(); LayerOverlay layerOverlay = new LayerOverlay(); // Project friscoParks layer to Spherical Mercator to match the map projection friscoParks.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Style friscoParks layer friscoParks.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(64, GeoColors.Green), GeoColors.DimGray); friscoParks.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Style stadiumLayer stadiumLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Blue, 16, GeoColors.White, 4); stadiumLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Style shortestLineLayer shortestLineLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Red, 2, false); shortestLineLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Add friscoParks layer to a LayerOverlay layerOverlay.Layers.Add("friscoParks", friscoParks); // Add stadiumLayer layer to a LayerOverlay layerOverlay.Layers.Add("stadiumLayer", stadiumLayer); // Add shortestLineLayer to the layerOverlay layerOverlay.Layers.Add("shortestLineLayer", shortestLineLayer); // Set the map extent mapView.CurrentExtent = new RectangleShape(-10782307.6877106, 3918904.87378907, -10774377.3460701, 3912073.31442403); // Add LayerOverlay to Map mapView.Overlays.Add("layerOverlay", layerOverlay); // Add Toyota Stadium feature to stadiumLayer var stadium = new Feature(new PointShape(-10779651.500992451, 3915933.0023557912)); stadiumLayer.InternalFeatures.Add(stadium); }
private void TimeBasedPointStyle_Click(object sender, EventArgs e) { FeatureLayer worldCapitalsLayer = mapView.FindFeatureLayer("WorldCapitals"); TimeBasedPointStyle timeBasedPointStyle = new TimeBasedPointStyle(); timeBasedPointStyle.TimeZoneColumnName = "TimeZone"; timeBasedPointStyle.DaytimePointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Yellow, 12, GeoColors.Black); timeBasedPointStyle.NighttimePointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Gray, 12, GeoColors.Black); worldCapitalsLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Clear(); worldCapitalsLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Add(timeBasedPointStyle); mapView.Refresh(); }
/// <summary> /// Setup the map with the ThinkGeo Cloud Maps overlay. Also, add the censusHousing and centerPointLayer layers /// into a grouped LayerOverlay and display it on the map. /// </summary> protected override void OnAppearing() { base.OnAppearing(); // Set the map's unit of measurement to meters(Spherical Mercator) mapView.MapUnit = GeographyUnit.Meter; // Add Cloud Maps as a background overlay var thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("9ap16imkD_V7fsvDW9I8r8ULxgAB50BX_BnafMEBcKg~", "vtVao9zAcOj00UlGcK7U-efLANfeJKzlPuDB9nw7Bp4K4UxU_PdRDg~~", ThinkGeoCloudVectorMapsMapType.Light); thinkGeoCloudVectorMapsOverlay.VectorTileCache = new FileVectorTileCache(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "cache"), "CloudMapsVector"); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); ShapeFileFeatureLayer censusHousing = new ShapeFileFeatureLayer(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Data/Shapefile/Frisco 2010 Census Housing Units.shp")); InMemoryFeatureLayer centerPointLayer = new InMemoryFeatureLayer(); LayerOverlay layerOverlay = new LayerOverlay(); // Project censusHousing layer to Spherical Mercator to match the map projection censusHousing.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Style censusHousing layer censusHousing.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(32, GeoColors.Orange), GeoColors.DimGray); censusHousing.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Style centerPointLayer centerPointLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Green, 12, GeoColors.White, 4); centerPointLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(64, GeoColors.Green), GeoColors.Black, 2); centerPointLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Add censusHousing layer to a LayerOverlay layerOverlay.Layers.Add("censusHousing", censusHousing); // Add centerPointLayer to the layerOverlay layerOverlay.Layers.Add("centerPointLayer", centerPointLayer); // Set the map extent to the censusHousing layer bounding box censusHousing.Open(); mapView.CurrentExtent = censusHousing.GetBoundingBox(); censusHousing.Close(); // Add LayerOverlay to Map mapView.Overlays.Add("layerOverlay", layerOverlay); centroidCenter.IsChecked = true; mapView.Refresh(); }
/// <summary> /// Set up feature layers in the MapView to display the validated features /// </summary> protected override void OnAppearing() { base.OnAppearing(); // Set the map's unit of measurement to Decimal Degree mapView.MapUnit = GeographyUnit.DecimalDegree; // Create an InMemoryFeatureLayer to hold the shapes to be validated // Add styles to display points, lines, and polygons on this layer in green InMemoryFeatureLayer validatedFeaturesLayer = new InMemoryFeatureLayer(); validatedFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Green, 12, GeoColors.Green); validatedFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColor.FromArgb(50, GeoColors.Green), GeoColors.Green); validatedFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Green, 3, false); validatedFeaturesLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Create an InMemoryFeatureLayer to hold the shapes to perform the validation against // Add styles to display points, lines, and polygons on this layer in blue InMemoryFeatureLayer filterFeaturesLayer = new InMemoryFeatureLayer(); filterFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Blue, 12, GeoColors.Blue); filterFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColor.FromArgb(50, GeoColors.Blue), GeoColors.Blue); filterFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Blue, 3, false); filterFeaturesLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Create an InMemoryFeatureLayer to hold the resultf features from the validation API // Add styles to display points, lines, and polygons on this layer in red InMemoryFeatureLayer resultFeaturesLayer = new InMemoryFeatureLayer(); resultFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Red, 12, GeoColors.Red); resultFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColor.FromArgb(50, GeoColors.Red), GeoColors.Red); resultFeaturesLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Red, 3, false); resultFeaturesLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Add the layers to an overlay, and add the overlay to the map LayerOverlay featuresOverlay = new LayerOverlay(); featuresOverlay.Layers.Add("Filter Features", filterFeaturesLayer); featuresOverlay.Layers.Add("Validated Features", validatedFeaturesLayer); featuresOverlay.Layers.Add("Result Features", resultFeaturesLayer); mapView.Overlays.Add("Features Overlay", featuresOverlay); rdoCheckIfPointsAreTouchingLines.IsChecked = true; mapView.Refresh(); }
private void btnDisplay_Click(object sender, EventArgs e) { ShapeFileFeatureLayer shapeFileFeatureLayer = new ShapeFileFeatureLayer(txtInputShapeFile.Text); shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColors.LightYellow, GeoColors.Black); shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Black, 2, true); shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Transparent, 7, GeoColors.Black); shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; shapeFileFeatureLayer.Open(); if (shapeFileFeatureLayer.Projection != null) { shapeFileFeatureLayer.FeatureSource.ProjectionConverter = new ProjectionConverter(shapeFileFeatureLayer.Projection.ProjString, 3857); shapeFileFeatureLayer.FeatureSource.ProjectionConverter.Open(); } LayerOverlay shapeFileOverlay = (LayerOverlay)(mapView1.Overlays["shapeFileOverlay"]); shapeFileOverlay.TileBuffer = 0; shapeFileOverlay.Layers.Add(shapeFileFeatureLayer); ThinkGeoMBTilesLayer thinkGeoMBTilesLayer = new ThinkGeoMBTilesLayer(txtMbtilesFilePathname.Text, new Uri(@"./SimpleRenderer.json", UriKind.Relative)); LayerOverlay mbtilesOverlay = (LayerOverlay)(mapView1.Overlays["mbtilesOverlay"]); mbtilesOverlay.TileBuffer = 0; mbtilesOverlay.Layers.Add(thinkGeoMBTilesLayer); mapView1.MapUnit = GeographyUnit.Meter; shapeFileFeatureLayer.Open(); mapView1.CurrentExtent = shapeFileFeatureLayer.GetBoundingBox(); mapView1.Refresh(); ckbDisplayShapeFile.Enabled = true; ckbDisplayMbtiles.Enabled = true; string jsonFile = File.ReadAllText(@".\SimpleRenderer.json"); tbxJson.Text = jsonFile; }
private void SetLayerProperties() { ShapeFileFeatureLayer shapeLayer = new ShapeFileFeatureLayer(txtPath.Text); shapeLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; shapeLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColors.Green); shapeLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = new LineStyle(new GeoPen(GeoColors.Black, 1)); shapeLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Red, 5); shapeLayer.Open(); if (isEditing) { mapPrinterLayer.Layers.RemoveAt(0); } else { mapPrinterLayer.SetPosition(500, 500, 0, 0, PrintingUnit.Point); mapPrinterLayer.MapExtent = shapeLayer.GetBoundingBox(); } mapPrinterLayer.Layers.Add(shapeLayer); }
private void Form_Load(object sender, EventArgs e) { // Set the map's unit of measurement to meters(Spherical Mercator) mapView.MapUnit = GeographyUnit.Meter; // Add Cloud Maps as a background overlay var thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("itZGOI8oafZwmtxP-XGiMvfWJPPc-dX35DmESmLlQIU~", "bcaCzPpmOG6le2pUz5EAaEKYI-KSMny_WxEAe7gMNQgGeN9sqL12OA~~", ThinkGeoCloudVectorMapsMapType.Light); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); ShapeFileFeatureLayer censusHousing = new ShapeFileFeatureLayer(@"../../../Data/Shapefile/Frisco 2010 Census Housing Units.shp"); InMemoryFeatureLayer centerPointLayer = new InMemoryFeatureLayer(); LayerOverlay layerOverlay = new LayerOverlay(); // Project censusHousing layer to Spherical Mercator to match the map projection censusHousing.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Style censusHousing layer censusHousing.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(32, GeoColors.Orange), GeoColors.DimGray); censusHousing.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Style centerPointLayer centerPointLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Green, 12, GeoColors.White, 4); centerPointLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(64, GeoColors.Green), GeoColors.Black, 2); centerPointLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Add censusHousing layer to a LayerOverlay layerOverlay.Layers.Add("censusHousing", censusHousing); // Add centerPointLayer to the layerOverlay layerOverlay.Layers.Add("centerPointLayer", centerPointLayer); // Set the map extent to the censusHousing layer bounding box censusHousing.Open(); mapView.CurrentExtent = censusHousing.GetBoundingBox(); censusHousing.Close(); // Add LayerOverlay to Map mapView.Overlays.Add("layerOverlay", layerOverlay); }
/// <summary> /// Adds a ValueStyle to the friscoCrime layer that represents each OffenseGroup as a different color /// </summary> private void AddValueStyle(ShapeFileFeatureLayer friscoCrime, LegendAdornmentLayer legend) { // Get all the distinct OffenseGroups in the friscoCrime data friscoCrime.Open(); var offenseGroups = friscoCrime.FeatureSource.GetDistinctColumnValues("OffenseGro"); friscoCrime.Close(); // Create a set of colors to represent each OffenseGroup using a spectrum starting from red var colors = GeoColor.GetColorsInQualityFamily(GeoColors.Red, offenseGroups.Count); // Create a ValueItem styled with a PointStyle to represent each instance of an OffenseGroup var valueItems = new Collection <ValueItem>(); foreach (var offenseGroup in offenseGroups) { // Create a PointStyle to represent the OffenseGroup by selecting a color using the index of the OffenseGroup var style = PointStyle.CreateSimpleCircleStyle(colors[offenseGroups.IndexOf(offenseGroup)], 10, GeoColors.Black, 2); // Create a ValueItem that will house the pointStyle for the OffenseGroup valueItems.Add(new ValueItem(offenseGroup.ColumnValue, style)); // Add a LegendItem to the legend adornment var legendItem = new LegendItem() { ImageStyle = style, TextStyle = new TextStyle(offenseGroup.ColumnValue, new GeoFont("Verdana", 10), GeoBrushes.Black) }; legend.LegendItems.Add(legendItem); } // Create the ValueStyle that will use the previously created valueItems to style the data using the OffenseGroup column values var valueStyle = new ValueStyle("OffenseGro", valueItems); // Add the valueStyle to the friscoCrime layer's CustomStyles and apply the style to all ZoomLevels friscoCrime.ZoomLevelSet.ZoomLevel01.CustomStyles.Add(valueStyle); friscoCrime.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; }
/// <summary> /// Setup the map with the ThinkGeo Cloud Maps overlay to show a basic map /// </summary> protected override void OnAppearing() { base.OnAppearing(); // Set the map's unit of measurement to meters(Spherical Mercator) mapView.MapUnit = GeographyUnit.Meter; // Add Cloud Maps as a background overlay var thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("9ap16imkD_V7fsvDW9I8r8ULxgAB50BX_BnafMEBcKg~", "vtVao9zAcOj00UlGcK7U-efLANfeJKzlPuDB9nw7Bp4K4UxU_PdRDg~~", ThinkGeoCloudVectorMapsMapType.Light); thinkGeoCloudVectorMapsOverlay.VectorTileCache = new FileVectorTileCache(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "cache"), "CloudMapsVector"); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); // Set the map extent mapView.CurrentExtent = new RectangleShape(-10786436, 3918518, -10769429, 3906002); LayerOverlay layerOverlay; InMemoryFeatureLayer featureLayer; // Create the layer that will store the drawn shapes featureLayer = new InMemoryFeatureLayer(); // Add styles for the layer featureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Blue, 8, GeoColors.Black); featureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Blue, 4, true); featureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColors.Blue, GeoColors.Black); featureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Add the layer to a LayerOverlay layerOverlay = new LayerOverlay(); layerOverlay.Layers.Add("featureLayer", featureLayer); // Add the LayerOverlay to the map mapView.Overlays.Add("layerOverlay", layerOverlay); // Update instructions instructions.Text = "Navigation Mode - The default map state. Allows you to pan and zoom the map with mouse controls."; mapView.Refresh(); }
private void mapView_Loaded(object sender, RoutedEventArgs e) { //Add a base map (ThinkGeo's online World Map Kit). mapView.MapUnit = GeographyUnit.Meter; mapView.ZoomLevelSet = new ThinkGeoCloudMapsZoomLevelSet(); // Please input your ThinkGeo Cloud Client ID / Client Secret to enable the background map. // Create background world map with vector tile requested from ThinkGeo Cloud Service. ThinkGeoCloudVectorMapsOverlay thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay(SampleHelper.ThinkGeoCloudId, SampleHelper.ThinkGeoCloudSecret, ThinkGeoCloudVectorMapsMapType.Light); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); //Build up the test data. InMemoryFeatureLayer testData = setupTestData(); //Make test line red in color. testData.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyle.CreateSimpleLineStyle(GeoColors.Red, 6, false); //Make test point dark green in color. testData.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.DarkGreen, 12); //Apply the above styles to all zoom levels. testData.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; //Create a MapShapeLayer that we can style individually and which will hold the results of the shortest line and split lines. MapShapeLayer results = new MapShapeLayer(); //Add the test data and results layers to a new layer overlay so they will show on top of the base map. LayerOverlay layerOverlay = new LayerOverlay(); layerOverlay.Layers.Add("TestData", testData); layerOverlay.Layers.Add("Results", results); mapView.Overlays.Add("layerOverlay", layerOverlay); //Zoom into the test data area. mapView.CurrentExtent = testData.GetBoundingBox(); mapView.Refresh(); }
/// <summary> /// Setup the map with the ThinkGeo Cloud Maps overlay. Also, load landuse and POI layers into a grouped LayerOverlay and display them on the map. /// </summary> protected override void OnAppearing() { base.OnAppearing(); // Set the map's unit of measurement to meters(Spherical Mercator) mapView.MapUnit = GeographyUnit.Meter; // Add Cloud Maps as a background overlay var thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("9ap16imkD_V7fsvDW9I8r8ULxgAB50BX_BnafMEBcKg~", "vtVao9zAcOj00UlGcK7U-efLANfeJKzlPuDB9nw7Bp4K4UxU_PdRDg~~", ThinkGeoCloudVectorMapsMapType.Light); thinkGeoCloudVectorMapsOverlay.VectorTileCache = new FileVectorTileCache(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "cache"), "CloudMapsVector"); mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay); //********************** // * Landuse LayerOverlay // **********************/ // Create cityLimits layer var cityLimits = new ShapeFileFeatureLayer(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Data/Shapefile/FriscoCityLimits.shp")); // Style cityLimits layer cityLimits.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(GeoColors.Transparent, GeoColors.DimGray, 2); cityLimits.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Project cityLimits layer to Spherical Mercator to match the map projection cityLimits.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); LayerOverlay poiOverlay = new LayerOverlay(); LayerOverlay landuseOverlay = new LayerOverlay(); // Add cityLimits layer to the landuseGroup overlay landuseOverlay.Layers.Add(cityLimits); // Create Parks landuse layer var parks = new ShapeFileFeatureLayer(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Data/Shapefile/Parks.shp")); // Style Parks landuse layer parks.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyle.CreateSimpleAreaStyle(new GeoColor(128, GeoColors.Green), GeoColors.Transparent); parks.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Project Parks landuse layer to Spherical Mercator to match the map projection parks.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Add Parks landuse layer to the landuseGroup overlay landuseOverlay.Layers.Add(parks); // Add Landuse overlay to the map mapView.Overlays.Add("landuseOverlay", landuseOverlay); //****************** // * POI LayerOverlay // ******************/ // Create Hotel POI layer var hotels = new ShapeFileFeatureLayer(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Data/Shapefile/Hotels.shp")); // Style Hotel POI layer hotels.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Blue, 8, GeoColors.White, 2); hotels.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Project Hotels POI layer to Spherical Mercator to match the map projection hotels.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Add Hotel POI layer to the poiGroup overlay poiOverlay.Layers.Add(hotels); // Create School POI layer var schools = new ShapeFileFeatureLayer(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Data/Shapefile/Schools.shp")); // Style School POI layer schools.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyle.CreateSimpleCircleStyle(GeoColors.Red, 8, GeoColors.White, 2); schools.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; // Project Schools POI layer to Spherical Mercator to match the map projection schools.FeatureSource.ProjectionConverter = new ProjectionConverter(2276, 3857); // Add School POI layer to the poiGroup overlay poiOverlay.Layers.Add(schools); // Add POI overlay to the map mapView.Overlays.Add("poiOverlay", poiOverlay); // Set the map extent cityLimits.Open(); mapView.CurrentExtent = cityLimits.GetBoundingBox(); cityLimits.Close(); ShowPoi.IsChecked = true; ShowLandUse.IsChecked = true; mapView.Refresh(); }