Beispiel #1
0
        protected override void BuildIndexCore(FeatureLayer featureLayer)
        {
            lock (layersInBuildingIndex)
            {
                if (!layersInBuildingIndex.Contains(featureLayer))
                {
                    layersInBuildingIndex.Add(featureLayer);
                }
            }

            var uri = LayerPlugin.GetUri(featureLayer);

            if (uri != null)
            {
                KmlFeatureLayer.BuildIndexFile(uri.LocalPath, BuildIndexMode.DoNotRebuild);

                lock (layersInBuildingIndex)
                {
                    if (layersInBuildingIndex.Contains(featureLayer))
                    {
                        layersInBuildingIndex.Remove(featureLayer);
                    }
                }
            }
        }
Beispiel #2
0
        private void TestForm_Load(object sender, EventArgs e)
        {
            winformsMap1.MapUnit       = GeographyUnit.Meter;
            winformsMap1.ZoomLevelSet  = new ThinkGeoCloudMapsZoomLevelSet();
            winformsMap1.CurrentExtent = new RectangleShape(-10777598, 3912998, -10776008, 3912026);
            winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.FromArgb(255, 198, 255, 255));

            // Please input your ThinkGeo Cloud Client ID / Client Secret to enable the background map.
            ThinkGeoCloudRasterMapsOverlay thinkGeoCloudMapsOverlay = new ThinkGeoCloudRasterMapsOverlay("ThinkGeo Cloud Client ID", "ThinkGeo Cloud Client Secret");

            winformsMap1.Overlays.Add(thinkGeoCloudMapsOverlay);

            KmlFeatureLayer kmlFeatureLayer = new KmlFeatureLayer("../../App_Data/ThinkGeoHeadquarters.kml");

            kmlFeatureLayer.StylingType = KmlStylingType.StandardStyling;
            // Set area style,line style,point style and text style.
            TextStyle textStyle = new TextStyle("name", (new GeoFont("Arial", 12)), new GeoSolidBrush(GeoColor.StandardColors.DarkOliveGreen));

            textStyle.HaloPen    = new GeoPen(GeoColor.StandardColors.FloralWhite, 5);
            textStyle.SplineType = SplineType.ForceSplining;
            kmlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.FillSolidBrush = new GeoSolidBrush(new GeoColor(50, GeoColor.SimpleColors.Orange));
            kmlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.OutlinePen     = new GeoPen(GeoColor.SimpleColors.Black);
            kmlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle            = new LineStyle(new GeoPen(GeoColor.SimpleColors.Orange, 5));
            kmlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle.SymbolPen = new GeoPen(GeoColor.FromArgb(255, GeoColor.StandardColors.Green), 8);
            kmlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle            = textStyle;
            kmlFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel         = ApplyUntilZoomLevel.Level20;
            LayerOverlay overlay = new LayerOverlay();

            overlay.Layers.Add("KmlLayer", kmlFeatureLayer);
            winformsMap1.Overlays.Add("Overlay", overlay);

            winformsMap1.Refresh();
        }
        protected override Collection <Layer> GetLayersCore(GetLayersParameters getLayersParameters)
        {
            Collection <Layer> resultLayers = base.GetLayersCore(getLayersParameters);

            foreach (var fileName in getLayersParameters.LayerUris.Select(u => u.LocalPath))
            {
                KmlFeatureLayer layer = new KmlFeatureLayer(fileName);
                layer.Name = Path.GetFileNameWithoutExtension(fileName);
                resultLayers.Add(layer);
            }
            return(resultLayers);
        }