• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

funktion "umbauen"

orc

New member
Hallo,

ich würde gerne folgenden request verändern:

PHP:
var request =  window[id].getFullRequestString({
                            REQUEST: "GetFeatureInfo",
                            EXCEPTIONS: "application/vnd.ogc.se_xml",
                            BBOX: window[id].map.getExtent().toBBOX(),
                            X: e.xy.x,
                            Y: e.xy.y,
                            INFO_FORMAT: 'text/html',
                            QUERY_LAYERS: window[id].params.LAYERS,
                            WIDTH: window[id].map.size.w,
                            HEIGHT: window[id].map.size.h});

das Ergebnis dieses Requests ist folgendes:

Code:
http://172.21.18.45/cgi-bin/mapserv?map=/usr/share/ka-map-1.0-20070205/htdocs/geoland_test.map&LAYERS=Abflussstation&TRANSPARENT=true&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_xml&FORMAT=image%2Fpng&SRS=EPSG%3A31258&BBOX=385077.280363%2C127147.639153%2C600412.719637%2C231005.360847&X=315&Y=175&INFO_FORMAT=text%2Fhtml&QUERY_LAYERS=Abflussstation&WIDTH=763&HEIGHT=368

jetzt muss ich das so ändern, dass das Ergebnis des Requests folgendermaßen aussieht:

Code:
http://172.21.18.45/ka-map/map_query_float.php?map=geoland_test&q_type=0&scale=600000&groups=,Abflussstation&coords474133.0773014716181821.5684830197&extent=384809.79220271227|96519.94787922816|600709.6756167753|261831.52527764306

also das http://http://172.21.18.45/ka-map/map_query_float.php?map=geoland_test ist bei jedem Aufruf das selbe und könnte mit dem getFullRequestString irgendwie ersetzt werden,... die restlichen Attribute müssten dann im Request noch angepasst werden.

Wo ich eben nicht weiterkommen, ist das ersetzen des getFullRequestString mit der neuen http:// Adresse (da diese nicht gleich der Adresse ist, welche bei getFullRequestString aufgerufen wird)
 
getFullRequestString

Code:
getFullRequestString:function(	newParams,
    	altUrl	)

Combine url with layer’s params and these newParams.

does checking on the serverPath variable, allowing for cases when it is supplied with trailing ? or &, as well as cases where not.
return in formatted string like this

Code:
”server?key1=value1&key2=value2&key3=value3”

Parameters

newParams {Object}
altUrl {String} Use this as the url instead of the layer’s url

Returns

{String}

----
Im grunde geht es darum, ich habe mehrere Layer mit Punkt oder Linienobjekten welche über ka-map (opensource webmapping client) aufgerufen werden. Der URL zum anzeigen der Layer unterscheidet sich allerdings von dem URL zum aufruf eines getFeatureInfo´s.

Daher muss ich die Funktion irgendwie umbauen damit der "neue" URL aufgerufen wird. Die einzelnen Parameter (wie Layers usw.) zu ändern sollte dann nicht mehr so schwierig sein.
 
Danke Schlauer,... hab das was ich oben geschrieben habe zwar schon zig mal angesehen aber nachdem ich es gepostet habe hatte ich die Idee den URL einfach hinten anzuhängen als altURL.

scheint zu klapen, jetzt muss ich nur noch die Parameter richtig anpassen :)


PHP:
var request =  window[id].getFullRequestString({
                            REQUEST: "GetFeatureInfo",
                            EXCEPTIONS: "application/vnd.ogc.se_xml",
                            BBOX: window[id].map.getExtent().toBBOX(),
                            X: e.xy.x,
                            Y: e.xy.y,
                            INFO_FORMAT: 'text/html',
                            QUERY_LAYERS: window[id].params.LAYERS,
                            WIDTH: window[id].map.size.w,
                            HEIGHT: window[id].map.size.h},"http://172.21.18.45/ka-map/map_query_float.php?map=geoland_test");
 
du hast dein Problem zwar jetzt gelöst, mich aber nach wie vor mit einem grossen Fragezeichen hinterlassen.

getFullRequestString

Code:
getFullRequestString:function(	newParams,
    	altUrl	)

Combine url with layer’s params and these newParams.
Ich hab keine Ahnung woher du diese Information hast, ich nehme an du verwendest irgendein Framwork, im Grunde wäre die Information welches, durchaus sinnvoll gewesen. Aber du konntest dein Problem ja alleine lösen.
 
Zurück
Oben