Frage

Ich entwickle eine Web-Anwendung, die den Standort eines Projektes in einer Karte zeigen. Ich habe diese Funktion die Daten hinzufügen, ich auf eine Karte Schicht zeigen will.

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);
    }
}

Dies war eine Empfehlung von den Jungs bei #mapserver IRC-Kanal. Aber es funktioniert nicht! Kann jemand helfen, herauszufinden, warum die Punkte nicht ??? zeigen

War es hilfreich?

Lösung

Haben Sie eine classObj und styleObj für Schicht erstellen?

Hier ist mein Codebeispiel:

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top