コード例 #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (Map1.MapUnit == GeoUnit.Meter)
            {
                return;
            }

            Map1.MapUnit = GeoUnit.Meter;
            FeatureLayer     featureLayer = Map1.FindLayer <ShapefileLayer>("countries-wgs84");
            SpatialReference srsSource    = SpatialReferences.GetWgs84();
            SpatialReference srsTarget    = SpatialReference.ParseSrid(2163);

            featureLayer.Source.Projection = new Proj4Projection(srsSource, srsTarget);

            Map1.Overlays["countries-wgs84"].Invalidate();
            Map1.ZoomToFullBound();
        }
コード例 #2
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            string      connectionString = SqliteSource.CreateConnectionString("SampleData/usstates-900913.sqlite");
            SqliteLayer sqliteLayer      = new SqliteLayer(connectionString, "table_name", "id", "geometry");

            sqliteLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#55FAB04D"), GeoColors.White));

            LayerOverlay layerOverlay = new LayerOverlay();

            layerOverlay.Layers.Add(sqliteLayer);
            Map1.Overlays.Add(layerOverlay);

            Map1.ZoomTo(sqliteLayer.GetBound());
        }
コード例 #3
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            dataLayer = new ShapefileLayer("SampleData/countries-900913.shp");
            dataLayer.Open();

            MemoryLayer highlightLayer = new MemoryLayer {
                Name = "HighlightLayer"
            };

            highlightLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#55FAB04D"), GeoColors.White, 4));
            Map1.AddDynamicLayers("HighlightOverlay", highlightLayer);

            Map1.ZoomTo(new GeoBound(2171997.6512, 8356849.2669, 3515687.9933, 11097616.86));
        }
コード例 #4
0
        /// <summary>
        /// Handles the Loaded event of the Map1 control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            ShapefileLayer pointLayer = new ShapefileLayer("SampleData/cities-900913.shp");

            SymbolStyle symbolStyle = new SymbolStyle(SymbolType.Circle, GeoColor.FromHtml("#55FAB04D"), GeoColors.White, 2);

            symbolStyle.SymbolType = (SymbolType)SymbolTypeComboBox.SelectedValue;
            symbolStyle.Size       = (float)SymbolSizeComboBox.SelectedValue;
            symbolStyle.Margin     = 40;
            pointLayer.Styles.Add(symbolStyle);
            Map1.AddStaticLayers("PointOverlay", pointLayer);

            Map1.ZoomTo(pointLayer.GetBound());
        }
コード例 #5
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            ShapefileSource dataSource = new ShapefileSource("SampleData/countries-900913.shp");

            dataSource.Open();
            highlightFeature = dataSource.GetFeatureById("1", RequireColumnsType.None);

            MemoryLayer highlightLayer = new MemoryLayer();

            highlightLayer.Features.Add(highlightFeature);
            highlightLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#55FAB04D")));
            Map1.AddStaticLayers("HighlightOverlay", highlightLayer);

            Map1.ZoomTo(highlightFeature);
        }
コード例 #6
0
        /// <summary>
        /// Handles the Loaded event of the Map1 control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            ShapefileLayer pointLayer = new ShapefileLayer("SampleData/cities-900913.shp");

            MapKit.Symbologies.FontStyle fontStyle = new MapKit.Symbologies.FontStyle();
            fontStyle.Brush      = GeoBrushes.Red;
            fontStyle.OutlinePen = new GeoPen(GeoColors.White, 2);
            fontStyle.Margin     = 40;
            pointLayer.Styles.Add(fontStyle);
            Map1.AddStaticLayers("PointOverlay", pointLayer);

            SyncFontStyleSettings(pointLayer);

            Map1.ZoomTo(pointLayer.GetBound());
        }
コード例 #7
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit       = GeographyUnit.Meter;
            Map1.CurrentExtent = new RectangleShape(-16965308.8699768, 10390517.8895596, 15908646.0310775, -8922930.61480984);

            LayerOverlay layerOverlay = new LayerOverlay();

            layerOverlay.TileType   = TileType.MultipleTile;
            layerOverlay.TileBuffer = 2;

            BackgroundLayer backgroundLayer = new BackgroundLayer(new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean));

            layerOverlay.Layers.Add(backgroundLayer);

            ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"..\..\SampleData\Countries02.shp");

            worldLayer.DrawingMarginInPixel = 200;
            worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle      = WorldStreetsAreaStyles.Common();
            worldLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle      = WorldStreetsTextStyles.GeneralPurpose("CNTRY_NAME", 12);
            worldLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle.Font = new GeoFont("Arial", 16, DrawingFontStyles.Bold);
            worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel   = ApplyUntilZoomLevel.Level20;
            layerOverlay.Layers.Add("SampleLayer", worldLayer);
            Map1.Overlays.Add("LayerOverlay", layerOverlay);

            SimpleMarkerOverlay markerOverlay = new SimpleMarkerOverlay();

            Map1.Overlays.Add("MarkerOverlay", markerOverlay);

            PopupOverlay popupOverlay = new PopupOverlay();

            Map1.Overlays.Add("PopupOverlay", popupOverlay);
            Popup popup = new Popup(new PointShape(-10777662.2854073, 3912165.79621789));

            popup.Content = new TextBlock()
            {
                Text = "ThinkGeo", FontSize = 20
            };
            popupOverlay.Popups.Add(popup);

            Map1.TrackOverlay.DrawingMarginPercentage = 80;
            Map1.EditOverlay.DrawingMarginPercentage  = 80;

            Map1.Refresh();
        }
コード例 #8
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            WmsLayer wmsLayer = new WmsLayer("https://ahocevar.com/geoserver/wms");

            wmsLayer.Name = "Wms";
            wmsLayer.Crs  = "EPSG:900913";
            wmsLayer.Layers.Add("topp:states");
            wmsLayer.Parameters.Add("TILED", "TRUE");

            LayerOverlay layerOverlay = new LayerOverlay();

            layerOverlay.Layers.Add(wmsLayer);
            Map1.Overlays.Add(layerOverlay);

            Map1.ZoomToFullBound();
        }
コード例 #9
0
    protected void btnFind_Click(object sender, EventArgs e)
    {
        FindArguments findArgs = new FindArguments();

        findArgs.CreateResults = false;

        if (!string.IsNullOrEmpty(txtWhat.Text))
        {
            findArgs.What = txtWhat.Text;
        }

        if (!string.IsNullOrEmpty(txtWhere.Text))
        {
            findArgs.Where = txtWhere.Text;
        }


        Map1.Find(findArgs);
    }
コード例 #10
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            ShapefileLayer pointLayer = new ShapefileLayer("SampleData/cities-900913.shp");
            HeatStyle      heatStyle  = new HeatStyle();

            heatStyle.DataColumn       = columnName;
            heatStyle.MaxIntensity     = 37.7;
            heatStyle.MinIntensity     = 30;
            heatStyle.Alpha            = 150;
            heatStyle.Radius           = (2 - HeatPointSizeComboBox.SelectedIndex) * 30 + 20;
            heatStyle.ColorPaletteType = colorPaletteType;
            pointLayer.Styles.Add(heatStyle);
            Map1.AddStaticLayers("PointOverlay", pointLayer);

            Map1.ZoomTo(pointLayer.GetBound());
        }
コード例 #11
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.AddStaticLayers("OpenStreetMap", new OpenStreetMapLayer());

            GeoBound    currentBound = new GeoBound(1534877.2788, 5720521.3921, 1536797.864, 5721952.8921);
            BitmapImage sourceImage  = new BitmapImage(new Uri("pack://application:,,,/SlimGis.WpfSamples;component/Images/6x9_icons_50.png", UriKind.RelativeOrAbsolute));

            Random r = new Random();

            for (int i = 0; i < 100; i++)
            {
                double x = r.Next(1534877, 1536797);
                double y = r.Next(5720521, 5721952);
                AddMarker(x, y, GetRandomIcon(r, sourceImage));
            }

            Map1.ZoomTo(currentBound);
        }
コード例 #12
0
        private void Map1_MapClick(object sender, MapClickEventArgs e)
        {
            // We added a ShapefileLayer in the Loaded event,
            // it's default name is the name of the shapefile.
            // so here, we could find the layer back by the shapefile name without extension.
            FeatureLayer featureLayer      = Map1.FindLayer <FeatureLayer>("countries-900913");
            Feature      identifiedFeature = IdentifyHelper.Identify(featureLayer, e.WorldCoordinate, Map1.CurrentScale, Map1.MapUnit).FirstOrDefault();

            Map1.Placements.Clear();
            if (identifiedFeature != null)
            {
                Popup popup = new Popup();
                popup.Location = e.WorldCoordinate;
                popup.Content  = new Label {
                    Content = identifiedFeature.FieldValues["LONG_NAME"]
                };
                Map1.Placements.Add(popup);
            }
        }
コード例 #13
0
        private string ZoomToFeature(string featureId)
        {
            LayerOverlay         queryResultMarkerOverlay   = Map1.CustomOverlays["QueryResultMarkerOverlay"] as LayerOverlay;
            InMemoryFeatureLayer markerMemoryLayer          = queryResultMarkerOverlay.Layers["MarkerMemoryLayer"] as InMemoryFeatureLayer;
            InMemoryFeatureLayer markerMemoryHighLightLayer = queryResultMarkerOverlay.Layers["MarkerMemoryHighLightLayer"] as InMemoryFeatureLayer;

            Feature currentFeature = markerMemoryLayer.InternalFeatures.FirstOrDefault(f => f.Id == featureId);

            markerMemoryHighLightLayer.InternalFeatures.Clear();
            markerMemoryHighLightLayer.InternalFeatures.Add(currentFeature);

            PointShape center = currentFeature.GetShape() as PointShape;

            Map1.ZoomTo(center, Map1.ZoomLevelSet.GetZoomLevels()[16].Scale);

            queryResultMarkerOverlay.Redraw();

            return(currentFeature.GetBoundingBox().GetWellKnownText());
        }
コード例 #14
0
ファイル: Default.aspx.cs プロジェクト: kouweizhong/WebMapsVE
    protected void lbShapesCustomPushpin_Click(object sender, EventArgs e)
    {
        Simplovation.Web.Maps.VE.Shape s = new Simplovation.Web.Maps.VE.Shape(Map1.LatLong);
        s.Title = "Custom Pushpin";

        s.Description = "<div>Added:&nbsp;" + DateTime.Now.ToString() + "</div>";

        s.MoreInfoURL = "~/MorePushpinInfo.aspx";

        // Set a CustomIcon for the Shape to use
        s.CustomIcon       = new CustomIconSpecification();
        s.CustomIcon.Image = VirtualPathUtility.ToAbsolute("~/DynamicSearch/icon.png");

        /*
         * // Add HTML to be used for the Custom Icon that this Pushpin Shape will use
         * s.CustomIcon = new CustomIconSpecification("<div style='background-color: lightblue; color: black; border: solid 1px red; padding: 2px; font-weight: bold;'>" + (Map1.Layers[0].Shapes.Count + 1) + "</div>");
         */

        Map1.AddShape(s);
    }
コード例 #15
0
        private void Map1_MapSingleClick(object sender, MapClickEventArgs e)
        {
            Feature identifiedFeature = IdentifyHelper.Identify(dataLayer, e.WorldCoordinate, Map1.CurrentScale, Map1.MapUnit).FirstOrDefault();

            if (identifiedFeature != null)
            {
                MemoryLayer highlightLayer = Map1.FindLayer <MemoryLayer>("HighlightLayer");

                highlightLayer.Features.Clear();
                highlightLayer.Features.Add(identifiedFeature);

                GeoBound identifiedBound = identifiedFeature.GetBound();
                highlightLayer.Features.Add(new Feature(new GeoLine(identifiedBound.GetVertices())));

                GeoPoint identifiedCenter = identifiedBound.GetCentroid();
                highlightLayer.Features.Add(new Feature(identifiedCenter));

                Map1.Refresh("HighlightOverlay");
            }
        }
コード例 #16
0
        /// <summary>
        /// Handles the Loaded event of the Map1 control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            ShapefileLayer areaLayer = new ShapefileLayer("SampleData/countries-900913.shp");
            var            feature   = areaLayer.Source.GetFeatureById("1", RequireColumnsType.All);

            areaLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#55FAB04D"), GeoColors.White, 1));

            LabelStyle labelStyle = new LabelStyle("CNTRY_NAME", new GeoFont {
                FontSize = 8
            }, GeoColors.Black, GeoColors.White, 2);

            labelStyle.Margin = 100;
            areaLayer.Styles.Add(labelStyle);
            Map1.AddStaticLayers("AreaOverlay", areaLayer);

            Map1.ZoomTo(areaLayer.GetBound());
        }
コード例 #17
0
ファイル: MapGenerate.cs プロジェクト: will63004/CubeMap
        private GeologyTerrain[,] ConvertToGeology(Map1 map, float refinement)
        {
            GeologyTerrain[,] geologyTerrains = new GeologyTerrain[(int)map.Width, (int)map.Height];
            for (int i = 0; i < map.Width; ++i)
            {
                for (int j = 0; j < map.Height; ++j)
                {
                    geologyTerrains[i, j] = new GeologyTerrain();
                }
            }

            foreach (var center in map.Graph.centers)
            {
                float    perlinNoise = Mathf.PerlinNoise(refinement + (int)center.point.x, refinement + (int)center.point.y);
                eGeology geology     = GetGeology(perlinNoise);
                geologyTerrains.FillPolygon(center.corners.Select(p => p.point * _textureScale).ToArray(), geology);
            }

            return(geologyTerrains);
        }
コード例 #18
0
        private void WpfMap_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeographyUnit.DecimalDegree;
            Map1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.FromArgb(255, 172, 205, 226));

            LayerOverlay layerOverlay = new LayerOverlay();

            Map1.Overlays.Add("worldmapkit", layerOverlay);

            featureLayer = new ShapeFileFeatureLayer(@"..\..\data\Road_Network.shp");
            featureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle    = LineStyles.LocalRoad3;
            featureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
            layerOverlay.Layers.Add(featureLayer);

            ShapeFileFeatureLayer pointsLayer = new ShapeFileFeatureLayer(@"..\..\data\Points.shp");

            pointsLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle   = PointStyles.Capital1;
            pointsLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle    = TextStyles.Capital1("ID");
            pointsLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
            layerOverlay.Layers.Add(pointsLayer);

            routeResultLayer = new InMemoryFeatureLayer();
            routeResultLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle    = LineStyles.CreateSimpleLineStyle(GeoColor.SimpleColors.Blue, 3, true);
            routeResultLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
            layerOverlay.Layers.Add(routeResultLayer);

            pointsLayer.Open();
            Collection <Feature> features = pointsLayer.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns);

            foreach (Feature feature in features)
            {
                Points.Add(feature.ColumnValues["ID"], feature.GetShape() as PointShape);
            }
            pointsLayer.Close();

            featureLayer.Open();
            Map1.CurrentExtent = featureLayer.GetBoundingBox();
            featureLayer.Close();

            Map1.Refresh();
        }
コード例 #19
0
ファイル: Default.aspx.cs プロジェクト: kouweizhong/WebMapsVE
    protected void lbShapesPolygon_Click(object sender, EventArgs e)
    {
        Simplovation.Web.Maps.VE.LatLong[] points = new Simplovation.Web.Maps.VE.LatLong[6];
        points[0] = new Simplovation.Web.Maps.VE.LatLong(46.1950421086602, -97.03125);
        points[1] = new Simplovation.Web.Maps.VE.LatLong(46.0122238406324, -104.326171875);
        points[2] = new Simplovation.Web.Maps.VE.LatLong(43.1330611624061, -104.326171875);
        points[3] = new Simplovation.Web.Maps.VE.LatLong(42.9403392336318, -96.943359375);
        points[4] = new Simplovation.Web.Maps.VE.LatLong(45.2748864370489, -96.767578125);
        points[5] = new Simplovation.Web.Maps.VE.LatLong(45.7061792853308, -97.3828125);

        Simplovation.Web.Maps.VE.Shape s = new Simplovation.Web.Maps.VE.Shape(Simplovation.Web.Maps.VE.ShapeType.Polygon, points);

        s.FillColor   = Simplovation.Web.Maps.VE.Color.Red;
        s.FillColor.A = 0.5; // make sure the color is semi-transparent

        s.LineColor = Simplovation.Web.Maps.VE.Color.Blue;

        s.LineWidth = 2; // make the line width 2 pixels

        Map1.AddShape(s);
    }
コード例 #20
0
        private void cbxOrientation_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // When the orientation combobox is changed then we update the PagePrinterLayer to reflect the changes
            if (this.IsLoaded)
            {
                PrinterInteractiveOverlay printerInteractiveOverlay = (PrinterInteractiveOverlay)Map1.InteractiveOverlays["PrintPreviewOverlay"];
                PagePrinterLayer          pagePrinterLayer          = (PagePrinterLayer)printerInteractiveOverlay.PrinterLayers["PageLayer"];

                string selectText = ((ComboBoxItem)e.AddedItems[0]).Content.ToString();
                if (selectText.ToUpper() == "LANDSCAPE")
                {
                    pagePrinterLayer.Orientation = PrinterOrientation.Landscape;
                }
                else if (selectText.ToUpper() == "PORTRAIT")
                {
                    pagePrinterLayer.Orientation = PrinterOrientation.Portrait;
                }

                Map1.Refresh();
            }
        }
コード例 #21
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;

            Map1.AddStaticLayers("OpenStreetMap", new OpenStreetMapLayer());
            Map1.AddStaticLayers("StamenMap - Toner", new StamenMapLayer(StamenMapType.Toner));
            Map1.AddStaticLayers("StamenMap - Watercolor", new StamenMapLayer(StamenMapType.Watercolor));

            ShapefileLayer countriesLayer = new ShapefileLayer("SampleData/countries-900913.shp");

            countriesLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#FAB04D"), GeoColors.White));
            Map1.AddStaticLayers("Countries", countriesLayer);

            Map1.Overlays.Skip(1).ForEach(o => o.IsVisible = false);
            Map1.ZoomToFullBound();

            List <OverlayViewModel> viewModel = new List <OverlayViewModel>();

            viewModel.AddRange(Map1.Overlays.Select(o => new OverlayViewModel(o)));
            OverlayListGrid.DataContext = viewModel;
        }
コード例 #22
0
    protected void btnGetDirections_Click(object sender, EventArgs e)
    {
        // create our location array containing the two locations specified on the page
        List <object> locations = new List <object>();

        locations.Add(txtStart.Text);
        locations.Add(txtEnd.Text);

        //Map1.GetDirections(locations);

        // Set some custom RouteOptions, these are optional to set
        RouteOptions routeOptions = new RouteOptions();

        routeOptions.DistanceUnit = RouteDistanceUnit.Miles;
        routeOptions.DrawRoute    = true;

        // Set the Route Mode
        if (ddlRouteMode.SelectedValue == "Driving")
        {
            routeOptions.RouteMode = RouteMode.Driving;
        }
        else
        {
            routeOptions.RouteMode = RouteMode.Walking;
        }

        // Semi-Transparent Red
        Color color = Color.Red;

        color.A = 0.7;
        routeOptions.RouteColor = color;

        routeOptions.RouteWeight = 4; //4 pixels

        // Tell the map to load the directions
        Map1.GetDirections(locations, routeOptions);

        // Display that the directions are loading
        lblDistance.Text = "Loading Directions...";
    }
コード例 #23
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            Button      button         = (Button)sender;
            MemoryLayer baselineLayer  = Map1.FindLayer <MemoryLayer>("BaseLineLayer");
            MemoryLayer highlightLayer = Map1.FindLayer <MemoryLayer>("HighlightLayer");
            GeoLine     baseline       = (GeoLine)baselineLayer.Features.First().Geometry;

            int    times           = 100;
            double percentageRatio = 100d / times;

            button.IsEnabled = false;
            for (int i = 0; i <= times; i++)
            {
                await MoveLine(highlightLayer, baseline, percentageRatio, i);
            }

            for (int i = times; i >= 0; i--)
            {
                await MoveLine(highlightLayer, baseline, percentageRatio, i, true);
            }
            button.IsEnabled = true;
        }
コード例 #24
0
        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));
        }
コード例 #25
0
        private void MapView_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeographyUnit.Meter;

            // Create background world map with vector tile requested from ThinkGeo Cloud Service.
            ThinkGeoCloudVectorMapsOverlay thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay(SampleHelper.ThinkGeoCloudId, SampleHelper.ThinkGeoCloudSecret, ThinkGeoCloudVectorMapsMapType.Light);

            Map1.Overlays.Add(thinkGeoCloudVectorMapsOverlay);

            //LayerOverlay utahWaterOverlay = new LayerOverlay() { TileType = TileType.MultiTile };
            //utahWaterOverlay.Layers.Add(new BackgroundLayer(new GeoSolidBrush(GeoColor.FromArgb(255, 233, 232, 214))));

            //ShapeFileFeatureLayer utahWaterShapeLayer = new ShapeFileFeatureLayer(SampleHelper.Get("UtahWater.shp"));
            //utahWaterShapeLayer.ZoomLevelSet.Load(SampleHelper.Get("utahwater.json"));

            //utahWaterOverlay.Layers.Add("UtahWaterShapes", utahWaterShapeLayer);
            //Map1.Overlays.Add("UtahWaterOverlay", utahWaterOverlay);

            //Map1.CurrentExtent = new RectangleShape(-113.11473388671875, 41.949816894531253, -111.08226318359375, 40.499621582031253);

            Map1.Refresh();
        }
コード例 #26
0
        private void FindClosestPoint(MapMouseMoveEventArgs e)
        {
            MemoryLayer closetPointLayer = Map1.FindLayer <MemoryLayer>("ClosetPointLayer");

            if (closetPointLayer == null)
            {
                closetPointLayer = new MemoryLayer {
                    Name = "ClosetPointLayer"
                };
                closetPointLayer.Styles.Add(new SymbolStyle(SymbolType.Circle, GeoColor.FromHtml("#AA3F8CB4"), GeoColors.White));
                Map1.AddDynamicLayers("ClosestPointOverlay", closetPointLayer);
            }

            GeoPoint closestPoint = highlightFeature.Geometry.GetClosestPointTo(new GeoPoint(e.WorldCoordinate));

            closetPointLayer.Features.Clear();
            if (closestPoint != null)
            {
                closetPointLayer.Features.Add(new Feature(closestPoint));
                Map1.Refresh("ClosestPointOverlay");
            }
        }
コード例 #27
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            ShapefileSource dataSource  = new ShapefileSource("SampleData/countries-900913.shp");
            Feature         tempFeature = dataSource.GetFeatureById("1", RequireColumnsType.None);

            MemoryLayer memoryLayer = new MemoryLayer {
                Name = "ResultLayer"
            };

            memoryLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#55FAB04D"), GeoColors.White));
            memoryLayer.Features.Add(tempFeature);

            LayerOverlay layerOverlay = new LayerOverlay();

            layerOverlay.Layers.Add(memoryLayer);
            Map1.Overlays.Add(layerOverlay);

            Map1.ZoomTo(tempFeature);
        }
コード例 #28
0
    // Assigning tile type to each tile
    void GenerateMapData()
    {
        // Allocate our map tiles
        tiles = new int[mapWidth, mapLength];

        int x, y;

        // Initialize our map tiles to be grass
        for (x = 0; x < mapWidth; x++)
        {
            for (y = 0; y < mapLength; y++)
            {
                tiles[x, y] = 0;
            }
        }

        Map1.SetUp();
        tiles = Map1.tiles;

        //// Make a big swamp area
        //for (x = 3; x <= 5; x++)
        //{
        //    for (y = 0; y < 4; y++)
        //    {
        //        tiles[x, y] = 1;
        //    }
        //}

        //// Make a u-shaped mountain range
        //tiles[5, 4] = 2;
        //tiles[6, 4] = 2;
        //tiles[7, 4] = 2;
        //tiles[8, 4] = 2;

        //tiles[4, 5] = 2;
        //tiles[4, 6] = 2;
        //tiles[8, 5] = 2;
        //tiles[8, 6] = 2;
    }
コード例 #29
0
        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);
        }
コード例 #30
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            dataLayer = new ShapefileLayer("SampleData/sections-900913.shp");
            dataLayer.Styles.Add(new FillStyle(GeoColors.Transparent, GeoColor.FromHtml("#99FAB04D"), 1));
            Map1.AddStaticLayers(dataLayer);

            MemoryLayer highlightLayer = new MemoryLayer {
                Name = "HighlightLayer"
            };

            highlightLayer.Columns.Add(new FeatureColumn("Area", UnifiedColumnType.Text));
            highlightLayer.Styles.Add(new FillStyle(GeoColor.FromHtml("#66FFFF00"), GeoColors.White));

            LabelStyle areaLabelStyle = new LabelStyle("Area", new GeoFont(), GeoColor.FromHtml("#111111"), GeoColors.White);

            highlightLayer.Styles.Add(areaLabelStyle);
            Map1.AddDynamicLayers("HighlightOverlay", highlightLayer);

            Map1.ZoomTo(new GeoBound(-10111509.577, 4582117.8006, -10099064.6735, 4598828.7496));
        }
コード例 #31
0
ファイル: UI_Main.cs プロジェクト: WilliamChao/nmap
    private void GenMap3()
    {
        Map1 map = new Map1(true);

        new MapTexture1(TextureScale).DrawTwoGraph(GameObject.Find("Map"), map);
    }
コード例 #32
0
ファイル: UI_Main.cs プロジェクト: WilliamChao/nmap
    private void GenMap2()
    {
        Map1 map = new Map1(true);

        new MapTexture1(TextureScale).AttachTexture(GameObject.Find("Map"), map);
    }