[Mapbender-users] Mapbender Script - Navigation über Straße / Hausnummer

david.mueller at kaiserslautern.de david.mueller at kaiserslautern.de
Tue Mar 10 03:34:49 EDT 2009


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



More information about the Mapbender_users mailing list