Re: AW: AW: AW: [Mapbender-users] Probleme mit dem Maßstab

Frank Glandorf f.glandorf at gmx.de
Thu Nov 23 05:01:43 EST 2006


Hallo,

ich hab das Problem endlich gelöst. Ich denke mal, es wird daran liegen 
das wir unterschiedliche Mapbender Versionen benutzen (Ich benutze noch 
Version 2.2.3)

Daher funktioniert die Abfrage in der map.php bei mir nur mit  
*window.frames['overview'].overview_image.

*Aber trotzdem vielen Dank für die ausführliche Hilfe

MfG
Frank



Fischer, Andreas schrieb:
> Hallo Frank,
> zu 3) Das document.overview-Objekt solltest Du haben, denn das ist der 
> iframe, in dem die Kartenübersicht dargestellt wird. (Wenn Du das 
> guiElement anders genannt haben solltest, muss dann der entsprechende 
> Name verwendet werden). Mit Punkt 2) wird lediglich innerhalb dieses 
> Fensters eine JavaScript-Variable gesetzt, wenn (!) der entsprechende 
> GetParameter mit dem Aufruf des Scriptes "mapOV.php" übermittelt 
> worden ist. Bei mir heisst diese Variable un_image, Du hast sie wohl 
> overview_image genannt.
> Sofern die Variable gesetzt worden ist, kann Sie mit 
> document.overview.un_image bzw. bei Dir dann eben mit 
> document.overview.overview_image angesprochen werden. In der Variable 
> selbst muss dann der Pfad zu der Bilddatei des overview drin sein. Das 
> solltest Du mit einem alert(VariablenName) bereits an dieser Stelle 
> überprüfen können.
>  
> - Meine Vermutung war nun, dass wenn Du - wie Du unter Punkt 2) gesagt 
> hast - den Codeblock ausserhalb der html-tags einfügst, die Variable 
> schlicht nicht gesetzt wird. Sollte dem so sein, gelangst Du natürlich 
> auch nicht im if-Block in den richtigen Abschnitt. Das war so eine 
> Vermutung!
> - Eine weitere ist, dass Du den Namen der Variable vielleicht nicht an 
> allen notwendigen Stellen gleichermaßen geändert hast.
> a) Aufruf des Scriptes mit: 
> ../kreisunna/mapOV.php?wms=0&*VariablenName*=../kreisunna/img/un_intranetOverview.gif&sessionID
> b) in der Datei mapOV.php: 
> if(isset($_REQUEST["*VariablenName*"])){echo "var *VariablenName *= '" 
> . $_REQUEST["*VariablenName*"] ."';";}
> c) in der Datei map.php: if(mb_mapObj[i].frameName=='overview' && 
> document.overview.*VariablenName*){...}
>  
> Also, dran bleiben :-)
> Gruß
> Andreas
>
> ----Ursprüngliche Nachricht-----
> *Von:* Frank Glandorf [mailto:f.glandorf at gmx.de]
> *Gesendet:* Mittwoch, 22. November 2006 19:20
> *An:* users at mapbender.osgeo.org
> *Betreff:* Re: AW: AW: [Mapbender-users] Probleme mit dem Maßstab
>
>     Hallo Andreas,
>
>     ich muss noch einmal nerven :-(
>
>     Hab den Quellcode nun genau so übernommen und an die korrekten
>     Stellen kopiert.
>
>     zu 2.) die Stelle wo ich das genau hinschreibe ist doch eigentlich
>     egal, es wird ja nur ne Variable zugewiesen. Es muss nur irgendwo
>     im JavaScript-Abschnitt geschehen
>
>     zu 3.) mit meiner ursprünglichen Stelle war ich dann ja doch etwas
>     falsch. Das Problem ist bei mir, dass ich gar nicht in den if-Teil
>     komme, da in document.overview.un_image bzw.
>     document.overview.overview_image nix drin ist. Per alert-Ausgabe
>     hab ich festgestellt, dass ich nur ein document-Objekt habe. Ich
>     hab nicht einmal document.overview-Objekt. Hast du das irgendwie
>     selber angelegt?
>
>     Mfg
>     Frrank
>
>     ****
>
>     Fischer, Andreas schrieb:
>>
>>     Hi Frank,
>>
>>     zu 2.) Du hast natürlich recht. Nur hatte ich den neuen Teil
>>     zwischen vorhandene script-tags eingefügt (s.u.; Ergänzungen in
>>     fett).
>>
>>     Es ist m.E. notwendig, den JavaScript-Block zwischen den
>>     html-tags einzufügen. Bei mir steht's im head. Etwa nach Zeile 56
>>     (MB2.2.3). Vielleicht ist Deine Variable immer leer, weil Dein
>>     JavaScript-Block eben aus diesem Grund nicht ausgeführt wird
>>
>>     <?php
>>     $gui_id = $_SESSION["mb_user_gui"];
>>     $con = db_connect($DBSERVER,$OWNER,$PW);
>>     db_select_db(DB,$con);
>>     $sql = "SELECT e_width,e_height, e_target FROM gui_element WHERE
>>     e_id = 'overview' AND fkey_gui_id = '".$gui_id."'";
>>     $res = db_query($sql);
>>     $cnt = 0;
>>     echo "<script type='text/javascript'>";
>>     while($row = db_fetch_array($res)){
>>     echo "var mod_overview_width = " . $row["e_width"].";";
>>     echo "var mod_overview_height = " . $row["e_height"].";";
>>     echo "var mod_overview_target = '" . $row["e_target"]."';";
>>     $cnt++;
>>     }
>>     echo "var mod_overview_rank = ".$rank.";";
>>     if($cnt > 1){ echo "alert('overview: ID not unique!');";}
>>
>>
>>     *//Ersetzung des Overview durch ein Image
>>     if(isset($_REQUEST["un_image"])){
>>     echo "var un_image = '" . $_REQUEST["un_image"] ."';";
>>     }
>>     // Ende*
>>
>>     echo "</script>";
>>     ?>
>>
>>     zu 3.)  Bei mir habe ich die Einfügung hinter Zeile 360 (MB2.2.3)
>>     vorgenommen. Könnte sein, dass die Zeilenangabe bei Dir nicht
>>     ganz passt, da ich mitunter schon davor etwas verändert habe.
>>     Unmittelbar davor steht aber das folgende CodeFragment
>>     (Ergänzungen in fett):
>>
>>         if(mb_log){
>>         var tmp = eval(mb_log + "('" + newMapURL + "','" + ts + "')");
>>         }
>>         if(proxy){
>>         newMapURL = proxy + escape(newMapURL) + "&" + <?php echo
>>         "'".SID."'" ?>;
>>         }
>>
>>         *//Ersetzung des Overview durch ein Image, sofern an
>>         un_mapOV.php als GetVariable übergeben
>>         if(mb_mapObj[i].frameName=='overview' &&
>>         document.overview.un_image){
>>         newMapRequest += document.overview.un_image;
>>         }else{
>>         newMapRequest += newMapURL;
>>         }
>>         //Ende - else-Bedingung ist Standard*
>>
>>     ** 
>>     Ich hoffe, so klappt's jetzt.
>>     Gruß
>>     Andreas
>>      
>>     Kreis Unna
>>     Dezernat II - Projektteam GIS
>>     (02303) 27-2507
>>     andreas.fischer at kreis-unna.de
>>
>>     ** 
>>
>>     -----Ursprüngliche Nachricht-----
>>     *Von:* Frank Glandorf [mailto:f.glandorf at gmx.de]
>>     *Gesendet:* Mittwoch, 22. November 2006 15:23
>>     *An:* users at mapbender.osgeo.org
>>     *Betreff:* Re: AW: [Mapbender-users] Probleme mit dem Maßstab
>>
>>         So, habs mal ausprobiert:
>>
>>         zu 1.) mein src Eintrag sieht nun so aus:
>>         ../php/mod_mapOV.php?wms=0&overview_image=../daten/data/overview_image.png&sessionID
>>
>>         zu 2.) hab die Datei mapOV.php bearbeitet die sieht so aus:
>>         (Die "script-type"-Zeilen waren glaub ich notwendig)
>>
>>             session_start();
>>             require_once("../../conf/mapbender.conf");
>>             if(isset($_REQUEST["wms"])){
>>                 $rank = $_REQUEST["wms"];
>>             }
>>             else{
>>                 $rank = 0;
>>             }
>>             *if(isset($_REQUEST["overview_image"])){
>>                 echo "<script type='text/javascript'>";
>>                 echo "var overview_image = '" .
>>             $_REQUEST["overview_image"] ."';";
>>                 echo "</script type='text/javascript'>";
>>                 }*
>>             ?>
>>
>>         zu 3.)  Könntest du mir vielleicht noch einmal schreiben wo
>>         genau das eingefügt werden muss function
>>         setMapRequest(frameName) hab ich gefunden und geht bei mir in
>>         Zeile 270 los. Ich denke mal, das vor die letzte der drei
>>         schließenden Klammern (Zeile 353 oder?). Aber egal wo ich das
>>         einfüge, in "document.overview.overview_image" ist nix drin.
>>
>>         MfG
>>         Frank
>>
>>
>>         Fischer, Andreas schrieb:
>>>         Hallo Frank,
>>>         ich habe das Modul 'overview' genau in diese Richtung etwas abgewandelt.
>>>         1. Im Aufruf (Datenfeld SRC) hänge ich den folgenden Paramter
>>>         &un_image=../kreisunna/img/un_intranetOverview.gif& an den Eintrag
>>>         ../php/mod_mapOV.php?wms=0&sessionID an
>>>         2. Das Modul mapOV.php habe ich dahingehend ergänzt, dass eine Variable
>>>         un_intranet gesetzt wird, wenn der entsprechende Paramter übergeben wurde
>>>         	if(isset($_REQUEST["un_image"])){
>>>         		echo "var un_image = '" . $_REQUEST["un_image"] ."';";
>>>         	}
>>>         3. Im  Modul setMapRequest(frameName) der Datei map.php bewirken die
>>>         folgenden Zeilen, dass im Falle des Overviews und (!) der gesetzten Variable
>>>         un_image nicht ein WMS angesprochen, sondern einfach der Pfad zur Bilddatei
>>>         übergeben wird.
>>>         	if(mb_mapObj[i].frameName=='overview' &&
>>>         document.overview.un_image){
>>>         		newMapRequest += document.overview.un_image;
>>>         	}else{
>>>         		newMapRequest += newMapURL;
>>>         	}
>>>         Vielleicht geht das alles auch schicker, aber es funktioniert und ist
>>>         insofern flexibel als zwischen Bilddatei und WMS-Aufruf bei Bedarf und je
>>>         nach GUI frei gewechselt werden kann.
>>>
>>>         Gruß
>>>         Andreas 
>>>
>>>         Kreis Unna
>>>         Dezernat II - Projektteam GIS
>>>
>>>         (02303) 27-2507
>>>         andreas.fischer at kreis-unna.de
>>>
>>>
>>>         -----Ursprüngliche Nachricht-----
>>>         Von: Frank Glandorf [mailto:f.glandorf at gmx.de]
>>>         Gesendet: Dienstag, 21. November 2006 17:45
>>>         An: users at mapbender.osgeo.org
>>>         Betreff: Re: [Mapbender-users] Probleme mit dem Maßstab
>>>
>>>
>>>         Danke erstmal für die schnelle Antwort,
>>>
>>>         das mit dem eingebetteten Maßstab hab ich hinbekommen. Die 
>>>         Maßstabsleiste wird nun also angezeigt und im "scalsselect"-Modul wird 
>>>         nun einfach statt bei 1:100 eben 1:xxxxxx eingetragen, das sollte 
>>>         hinhauen. Zwar so nicht ganz korrekt aber egal, darauf kommt es bei der 
>>>         Anwendung nicht an.
>>>
>>>         Leider hab ich nun aber auch in der Übersichtskarte eine Maßstabsleiste 
>>>         und das sieht ziemlich bescheiden aus. Es wäre ja nicht das Problem das 
>>>         "overview"-Modul einfach wegzulassen und stattdessen eine simple Grafik 
>>>         einzubinden, aber dann hab ich ja auch nicht die Funktionen die das 
>>>         "overview"Modul bereitstellt.
>>>
>>>         Daher meine Frage: Kann ich das Modul irgendwo überlisten? Zum Beispiel 
>>>         in der Form, dass ich in der "mod_mapOV.php" oder "mod_box1.js" enfach 
>>>         statt der vom Mapserver abgefragten Karte eine feste Tiff-Datei 
>>>         verlinke? Hab mir die Dateien gerade mal angeschaut, bin aber nciht so 
>>>         schnell darauf gekommen welchen Befehl ich ändern muss.
>>>
>>>         MfG
>>>         Frank
>>>
>>>
>>>
>>>         Uli Rothstein schrieb:
>>>           
>>>>         Hallo,
>>>>
>>>>         das clientseitig Maßstab-Modul kann bisher nur mit metrischen 
>>>>         Projektionssystemen umgehen. Für die Anzeige des Maßstabs in 
>>>>         Grad/Minuten besteht noch die Möglichkeit, den UMN serverseitig den 
>>>>         Maßstabsbalken in die Karte zu rendern.
>>>>
>>>>         Viele Grüße
>>>>         Uli Rothstein
>>>>
>>>>         Frank Glandorf schrieb:
>>>>             
>>>>>         Hallo,
>>>>>
>>>>>         ich denke ich habe einen Anfängerfehler in meinem Mapbender-Projekt:
>>>>>
>>>>>         Wenn ich meine map-Datei in einer Oberfläche einbinde, wird 
>>>>>         Gesamtdeutschland im Maßstab 1:60 angezeigt. Auch der Maßstab unten 
>>>>>         in der Karte ist dementsprechend falsch, sprich Deutschland ist nur 
>>>>>         ein paar Meter breit. Als Koordinatensystem benutze ich WGS84 sprich 
>>>>>         EPSG 4326. Hier mal der Ausschnitt aus meiner Mapdatei:
>>>>>
>>>>>               
>>>>>>         # Start des Mapfiles
>>>>>>
>>>>>>         MAP
>>>>>>
>>>>>>         NAME "Deutschland"
>>>>>>         IMAGETYPE PNG
>>>>>>         EXTENT 5.5 47.0 15.2 55.5
>>>>>>         UNITS DD
>>>>>>         SIZE 480 480
>>>>>>         STATUS ON
>>>>>>         SHAPEPATH "data"
>>>>>>         SYMBOLSET "symbols/symbols35.sym"
>>>>>>         FONTSET "fonts/fonts.list"
>>>>>>         CONFIG PROJ_LIB "C:/ProjektGIS/proj/nad/"
>>>>>>
>>>>>>           # Start des Web-Objektes
>>>>>>           WEB
>>>>>>             TEMPLATE  "template.html"
>>>>>>             IMAGEPATH "../tmp/"
>>>>>>             IMAGEURL  "../mapbender/tmp/"
>>>>>>             MAXSCALE 1000000
>>>>>>             MINSCALE 1
>>>>>>             METADATA
>>>>>>               "WMS_TITLE" "CarSIS-Deutschlandkarte"
>>>>>>               "WMS_FEATURE_INFO_MIME_TYPE" "text/html"
>>>>>>               "WMS_SRS" "epsg:4326"
>>>>>>               "WMS_ONLINERESOURCE" 
>>>>>>
>>>>>>                 
>>>         "http://localhost/cgi-bin/mapserv?map=c:/ProjektGIS/mapbender/http/daten/map
>>>         datei_deutschland.map&" 
>>>           
>>>>>>             END
>>>>>>           END
>>>>>>          
>>>>>>           # Ende des Web-Objektes
>>>>>>
>>>>>>           # Start des Projektions-Objektes
>>>>>>
>>>>>>           PROJECTION
>>>>>>             "init=epsg:4326"                                   # Karten 
>>>>>>         sollen in WGS84 dargestellt werden
>>>>>>           END
>>>>>>
>>>>>>           # Ende des Projektions-Objektes
>>>>>>                 
>>>>>>         # Start der Referenzkarte
>>>>>>
>>>>>>         REFERENCE
>>>>>>           IMAGE "img/ref.png"
>>>>>>           EXTENT 5.5 47.0 15.2 55.5
>>>>>>           STATUS ON
>>>>>>           COLOR -1 -1 -1
>>>>>>           OUTLINECOLOR 255 0 0
>>>>>>           SIZE 150 117      END
>>>>>>
>>>>>>         # Ende der Referenzkarte
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>         # Start der Legendendefinition
>>>>>>
>>>>>>         LEGEND
>>>>>>           STATUS ON
>>>>>>           KEYSIZE 20 20
>>>>>>           KEYSPACING 5 5
>>>>>>           LABEL
>>>>>>             TYPE TRUETYPE
>>>>>>             FONT "ARIAL"
>>>>>>             SIZE 8
>>>>>>             COLOR 120 120 120
>>>>>>           END # END OF LABEL
>>>>>>         END
>>>>>>
>>>>>>         # Ende der Legendendefinition
>>>>>>
>>>>>>
>>>>>>
>>>>>>           # Start des Layer-Objektes des Deutschland-Tiff Bildes
>>>>>>
>>>>>>           LAYER
>>>>>>           NAME 'Deutschland'
>>>>>>           TYPE RASTER
>>>>>>           DATA 'c:/ProjektGIS/mapbender/http/daten/data/deutschland_georef.tif'
>>>>>>           STATUS ON
>>>>>>           METADATA
>>>>>>             "WMS_SRS" 'epsg:4326'
>>>>>>             "WMS_EXTENT" '5.5 47.0 15.2 55.5'
>>>>>>             "WMS_TITLE" 'Deutschland-Karte'
>>>>>>             "WMS_FEATURE_INFO_MIME_TYPE" 'text/html'
>>>>>>           END
>>>>>>           END
>>>>>>         END
>>>>>>                 
>>>>>         Ich hoffe, jemand kann mir helfen.
>>>>>
>>>>>         MfG
>>>>>         Frank
>>>>>
>>>>>
>>>>>         ---------------------------------------------------------------------
>>>>>         To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
>>>>>         For additional commands, e-mail: users-help at mapbender.osgeo.org
>>>>>
>>>>>               
>>>>             
>>>
>>>         ---------------------------------------------------------------------
>>>         To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
>>>         For additional commands, e-mail: users-help at mapbender.osgeo.org
>>>
>>>         ---------------------------------------------------------------------
>>>         To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
>>>         For additional commands, e-mail: users-help at mapbender.osgeo.org
>>>
>>>           
>>




More information about the Mapbender_users mailing list