Okay, I got it. Using function load() and $(load) works.

Here ist the complete code:


$(document).ready(function() {

            if (GBrowserIsCompatible()) {

              var map = new GMap($("#map")[0]);
              map.addControl(new GLargeMapControl());
              map.addControl(new GMapTypeControl());
              map.setCenter(new GLatLng(20,0),2);

              // ====== Create a Client Geocoder ======
              var geo = new GClientGeocoder();

              // ====== Array for decoding the failure codes ======
              var reasons=[];
              reasons[G_GEO_SUCCESS]            = "Success";
              reasons[G_GEO_MISSING_ADDRESS]    = "Missing Address: The
address was either missing or had no value.";
              reasons[G_GEO_UNKNOWN_ADDRESS]    = "Unknown Address:  No
corresponding geographic location could be found for the specified
address.";
              reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address:  The
geocode for the given address cannot be returned due to legal or
contractual reasons.";
              reasons[G_GEO_BAD_KEY]            = "Bad Key: The API key is
either invalid or does not match the domain for which it was given";
              reasons[G_GEO_TOO_MANY_QUERIES]   = "Too Many Queries: The
daily geocoding quota for this site has been exceeded.";
              reasons[G_GEO_SERVER_ERROR]       = "Server error: The
geocoding request could not be successfully processed.";

              // ====== Geocoding ======
              function load() {
                 var search = $("#address").text();
        //        var search = document.getElementById("search").value;
                // ====== Perform the Geocoding ======
                geo.getLocations(search, function (result)
                  {
                    // If that was successful
                    if (result.Status.code == G_GEO_SUCCESS) {
                      // How many resuts were found
                     // document.getElementById("message").innerHTML = "Found
" +result.Placemark.length +" results";
                      // Loop through the results, placing markers
                      for (var i=0; i<result.Placemark.length; i++) {
                        var p = result.Placemark[i].Point.coordinates;
                        var marker = new GMarker(new GLatLng(p[1],p[0]));
                     //   document.getElementById("message").innerHTML +=
"<br>"+(i+1)+": "+ result.Placemark[i].address + marker.getPoint();
                        map.addOverlay(marker);
                      }
                      // centre the map on the first result
                      var p = result.Placemark[0].Point.coordinates;
                      map.setCenter(new GLatLng(p[1],p[0]),14);
                    }
                    // ====== Decode the error status ======
                    else {
                      var reason="Code "+result.Status.code;
                      if (reasons[result.Status.code]) {
                        reason = reasons[result.Status.code]
                      }
                      alert('Could not find "'+search+ '" ' + reason);
                    }
                  }
                );
              }
            }

            // display a warning if the browser was not compatible
            else {
              alert("Sorry, the Google Maps API is not compatible with this
browser");
            }
$(load);
});


Mazso

On 2 Dez., 10:02, Mazso <[EMAIL PROTECTED]> wrote:
> Herehttp://modx.elbwiese.net/maps4/maps.htmyou will find the
> JavaScript mixed up with XHTMl, it works flawless. And 
> athttp://modx.elbwiese.net/maps5/maps.htmthere is an external
> JaveScript file using $window(load). In this case Firebug finds an
> error I can´t make any sense of.
>
> On 2 Dez., 03:53, "Jake McGraw" <[EMAIL PROTECTED]> wrote:
>
> > Are you getting any specific JavaScript errors (using Firebug)? Also could
> > you provide a link to the page you're trying to work on? I have some
> > experience using jQuery an Google Maps.
>
> > - jake
>
> > On Dec 1, 2007 4:26 PM, Mazso <[EMAIL PROTECTED]> wrote:
>
> > > For several hours I tried to get the Google Map GeoCoding Script of
> > > Blackpool Community Church Javascript Team working with jQuery but I
> > > failed. Loading the script from an external file is no problem. But I
> > > can´t get the  function showAddress() starting when the page is
> > > loaded. I tried $(window).load(function(showAddress), $
> > > (document).ready(function() - no one worked. The address is stored in
> > > a paragraph with the id "address" which one I can manipulate. When I
> > > put the JavaScript-Code inside the XHTML-Code an call showAdress with
> > > <body onload="showAddress()"> everthing is working fine. But really -
> > > I don't like JavaScript and XHTML mixed up.
>
> > > So anyone has an advice for me?
>
> > > Thank you
>
> > > Mazso
>
> > > $(document).ready(function() {
>
> > >            if (GBrowserIsCompatible()) {
>
> > >              var map = new GMap($("#map")[0]);
> > >              map.addControl(new GLargeMapControl());
> > >              map.addControl(new GMapTypeControl());
> > >              map.setCenter(new GLatLng(20,0),2);
>
> > >              // ====== Create a Client Geocoder ======
> > >              var geo = new GClientGeocoder();
>
> > >              // ====== Array for decoding the failure codes ======
> > >              var reasons=[];
> > >              reasons[G_GEO_SUCCESS]            = "Success";
> > >              reasons[G_GEO_MISSING_ADDRESS]    = "Missing Address: The
> > > address was either missing or had no value.";
> > >              reasons[G_GEO_UNKNOWN_ADDRESS]    = "Unknown Address:  No
> > > corresponding geographic location could be found for the specified
> > > address.";
> > >              reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address:
> > >  The
> > > geocode for the given address cannot be returned due to legal or
> > > contractual reasons.";
> > >              reasons[G_GEO_BAD_KEY]            = "Bad Key: The API key is
> > > either invalid or does not match the domain for which it was given";
> > >              reasons[G_GEO_TOO_MANY_QUERIES]   = "Too Many Queries: The
> > > daily geocoding quota for this site has been exceeded.";
> > >              reasons[G_GEO_SERVER_ERROR]       = "Server error: The
> > > geocoding request could not be successfully processed.";
>
> > >              // ====== Geocoding ======
> > >              function showAddress() {
> > >                 var search = $("#address").text();
> > >        //        var search = document.getElementById("search").value;
> > >                // ====== Perform the Geocoding ======
> > >                geo.getLocations(search, function (result)
> > >                  {
> > >                    // If that was successful
> > >                    if (result.Status.code == G_GEO_SUCCESS) {
> > >                      // How many resuts were found
> > >                      document.getElementById("message").innerHTML = "Found
> > > "
> > > +result.Placemark.length +" results";
> > >                      // Loop through the results, placing markers
> > >                      for (var i=0; i<result.Placemark.length; i++) {
> > >                        var p = result.Placemark[i].Point.coordinates;
> > >                        var marker = new GMarker(new GLatLng(p[1],p[0]));
> > >                        document.getElementById("message").innerHTML +=
> > > "<br>"+(i+1)+": "+ result.Placemark[i].address + marker.getPoint();
> > >                        map.addOverlay(marker);
> > >                      }
> > >                      // centre the map on the first result
> > >                      var p = result.Placemark[0].Point.coordinates;
> > >                      map.setCenter(new GLatLng(p[1],p[0]),14);
> > >                    }
> > >                    // ====== Decode the error status ======
> > >                    else {
> > >                      var reason="Code "+result.Status.code;
> > >                      if (reasons[result.Status.code]) {
> > >                        reason = reasons[result.Status.code]
> > >                      }
> > >                      alert('Could not find "'+search+ '" ' + reason);
> > >                    }
> > >                  }
> > >                );
> > >              }
> > >            }
>
> > >            // display a warning if the browser was not compatible
> > >            else {
> > >              alert("Sorry, the Google Maps API is not compatible with this
> > > browser");
> > >            }
>
> > > });

Reply via email to