Re: [Mapbender-users] Mapbender Script - Navigation über Straße / Hausnummer
Astrid Emde (WhereGroup)
astrid.emde at wheregroup.com
Tue Mar 10 07:30:24 EDT 2009
Hello,
we programmed a gazetteer-modul which expects the street and housenumber
informations in a PostgreSQL/PostGIS database. This modul is not part of
the Mapbender package.
If you are interested in the code please send a mail and we can send it
to you.
This Modul is integrated for example in the City Map Service of Mainz.
Have a look at:
http://www.mapbender.org/Mapbender_Gallery#City_Map_Service_of_Mainz
Best regards Astrid Emde
david.mueller at kaiserslautern.de schrieb:
> Hallo,
>
> ich benutze Mapbender 2.5.
> Ich möchte ein Script zur Navigation über Straße / Hausnummer in meine GUI
> einbauen. Die Adressdaten liegen in einer PostgreSQL Datenbank.
>
> Folgende Punkte funktionieren schon:
>
> Ok: Suche über Strasse -> danach Hausnummer
> Ok: Beim überfahren der Hausnummern im Ergebnisfenster, wird der kleine
> rote Marker im Mapframe angezeigt
>
> Zusätzlich soll folgenden Funktion umgesetzt werden:
> Beim Klick auf Hausnummer soll gezoomt werden und eine Stecknadel im
> Mapframe angezeigt werden.
>
> Der Aufruf zum Zoomen erfolgt im php-Script nach dem Auslesen der Datenbank
> mit folgendem Befehl:
>
> "<a
> href='javascript:zoomHNR($nx,$ny);'onmouseover='highlight($nx,$ny);'onmouseout
> ='hideHighlight()'>"
>
> Javascript "zoomHNR($nx,$ny)" sieht folgendermaßen aus:
>
>
> <script type="text/javascript">
> <!--
> var mod_gazetteer_target = 'mapframe1';
> var scaleSTREET = 2500;
> var scaleHNR = 2250;
> var scaleStreet = 10000;
> var myCoords = new Array();
>
> function zoomHNR(x,y){
> hideHighlight();
> myCoords[0] = x;
> myCoords[1] = y;
> parent.mb_repaintScale("mapframe1",x,y,scaleHNR);
> highlight(x,y);
> setMarker();
> }
>
> function setMarker(){
> if (myCoords[0] > 0) {
> x = myCoords[0];
> y = myCoords[1];
> var scale = parent.mb_getScale(parent.mod_scaleSelect_target);
>
> if (scale < 5001){
> var width = 30;
> var height = 30;
> }
> if (scale>=5001 && scale<25001){
> var width = 20;
> var height = 20;
> }
> if (scale > 25001) {
> var width = 10;
> var height = 10;
> }
> var temp_str = "<img src='../img/pin.gif' width='" + width + "' height='"
> + height + "'>";
> var pos = parent.makeRealWorld2mapPos('mapframe1',x,y);
> parent.writeTag('mapframe1','marker',temp_str);
> parent.mb_arrangeElement('mapframe1','marker',(pos[0] -
> (width/2)),(pos[1]- (height/2)));
> }
> }
>
> </script>
>
> Leider bekomme ich, wenn ich die Funktion setMarker() einbinden folgenden
> javascript fehler im Browser angezeigt:
>
> "window.frames[...].document.getElementById(...)' ist Null oder kein
> Objekt"
>
> Wo kann hier der Fehler liegen? Gibts es vielleicht eine Alternative, wie
> ich meinen Wunsch umsetzen kann?
>
> DANKE!
>
>
> Mit freundlichem Gruß
>
> i.A. David Müller
> -------------------------------------------------------------------
> Stadtverwaltung Kaiserslautern
>
> E-Mail: david.mueller at kaiserslautern.de
> Internet: www.kaiserslautern.de
> -------------------------------------------------------------------
>
> Aktuelle Informationen und Veranstaltungshinweise finden Sie unter:
> http://www.kaiserslautern.de/aktuelles
>
> _______________________________________________
> Mapbender_users mailing list
> Mapbender_users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapbender_users
>
--
Mit freundlichen Grüßen
Astrid Emde
----------------------------------
FOSSGIS Konferenz 2009
17.-19. März 2009 in Hannover
http://www.fossgis.de/konferenz
----------------------------------
Astrid Emde
WhereGroup GmbH & Co.KG
Siemensstraße 8
53121 Bonn
Germany
Fon: +49(0)228 90 90 38 - 19
Fax: +49(0)228 90 90 38 - 11
astrid.emde at wheregroup.com
www.wheregroup.com
Amtsgericht Bonn, HRA 6788
-------------------------------
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Arnulf Christl, Olaf Knopp, Peter Stamm
---------------------------------------
More information about the Mapbender_users
mailing list