質問

プロジェクトの場所を地図に表示するWebアプリを開発しています。この機能を使用して、表示するデータをマップレイヤーに追加します。

protected void AgregarPunto(DataTable result)
{
    layerObj thislayer = util.MSMap.getLayerByName("poi");

    foreach (DataRow dr in result.Rows)
    {
        shapeObj shp = new shapeObj(mapscript.MS_SHP_POINTM);
        shp = shapeObj.fromWKT(dr["the_geom"].ToString());

        thislayer.addFeature(shp);
    }
}

これは、#mapserver IRC Channelのメンバーからの推奨事項でした。しかし、それは機能しません!誰かがポイントが表示されない理由を理解するのを助けることができますか?

役に立ちましたか?

解決

レイヤーのclassObjとstyleObjを作成しますか?

ここに私のコードサンプルがあります:

myLayer.type = OSGeo.MapServer.MS_LAYER_TYPE.MS_LAYER_LINE;
myLayer.status = 1;
myLayer.symbolscaledenom = 1; 

// Create a mapping class
OSGeo.MapServer.classObj myClass = new OSGeo.MapServer.classObj(myLayer);

// Create a style
OSGeo.MapServer.styleObj style = new OSGeo.MapServer.styleObj(myClass);

// unitColor = new Color(12, 34, 56);
int red = Convert.ToInt32(unitColor.R);
int green = Convert.ToInt32(unitColor.G);
int blue = Convert.ToInt32(unitColor.B);

style.color.setRGB(red, green, blue);

style.outlinecolor.setRGB(255, 255, 255);
//style.symbol = _map.symbolset.index("circle");  // Here '_map' is an instance of mapObj, this line is not strictly necessary 

style.size = 10;
style.minsize = 3; // Change this to your needs
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top