2

私はGISプログラミングを始めたばかりです。地図付きのシンプルなウェブサイトを構築したいと考えています。そのため、マップ ライブラリとして C# と SharpMap を選択します。シェイプファイルから多くのレイヤーを追加するまで、すべてが正常に機能します。最後に追加したレイヤーは、私が見る唯一のレイヤーです。これは私のコードの一部です:

SharpMap.Map map = new SharpMap.Map(outputsize);


        SharpMap.Layers.VectorLayer layCountry = new SharpMap.Layers.VectorLayer("nuoc");
        layCountry.DataSource = new SharpMap.Data.Providers.ShapeFile(@"D:\code\SharpMapDemo\SharpmapDemo\App_data\vn_tinh_region.shp", false);
        layCountry.Style.Fill = new SolidBrush(Color.Yellow);
        layCountry.Style.Outline = new Pen(Color.Black, 1);
        layCountry.Enabled = true;            
        layCountry.Style.EnableOutline = true;

        SharpMap.Layers.VectorLayer newLay = new SharpMap.Layers.VectorLayer("tinh");
        newLay.DataSource = new SharpMap.Data.Providers.ShapeFile(@"D:\code\SharpMapDemo\SharpmapDemo\App_Data\5tinh_region.shp", false);
        newLay.Style.Fill = new SolidBrush(Color.Red);
        newLay.Style.Outline = new Pen(Color.Black, 1);
        newLay.Style.EnableOutline = true;
        map.Layers.Add(newLay);
        map.Layers.Add(layCountry);

したがって、私が見るのはlayCountryだけです。最後の2行を次のように変更すると:

map.Layers.Add(layCountry);
map.Layers.Add(newLay);

newLay だけです。どんな助けでも大歓迎です。これを読んでくれてありがとう。私の下手な英語でごめんなさい。

4

1 に答える 1

5

以下のように半透明のレイヤーを試してください

// Set up Plate Layer
SharpMap.Layers.VectorLayer PlateLayer = new SharpMap.Layers.VectorLayer("PlateLayer");        
PlateLayer.DataSource = new SharpMap.Data.Providers.ShapeFile(LayerPath + Region + "_plates.shp", false);
Color c = Color.FromArgb(30, 100, 100, 100);
Brush b = new SolidBrush(c);
PlateLayer.Style.Fill = b;
PlateLayer.Style.Outline = new Pen(Color.LightGray, 1);
PlateLayer.Style.EnableOutline = true;
MainMap.Layers.Add(PlateLayer);
于 2011-07-14T16:04:55.853 に答える