6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)
  • Q:
    Bijdrager
    Gfive

    Google maps geocoder vraag.

    Hallo,
    Onderstaande code werkt.
    Voer een adres is en na het klikken krijg je mooi de longitude en latitude te zien.

    Mijn probleem:
    De longitude en latitude moeten uiteindelijk toegevoegd worden aan mijn database.
    Er zit nog een formulier aan vast en alle data zou dan verzonden moeten worden.
    Alleen dit werkt niet.

    Als ik “return false” weg haal uit de form regel kan ik wel submitten alleen krijg ik dan niet de longitude en latitude.

    Wat moet ik veranderen zodat als ik op submit klik de longitude en latitude mooi geladen worden en dat daarna het formulier verzonden wordt.

    Groeten,
    Martijn

    <br />
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"<br />
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><br />
    <html xmlns="http://www.w3.org/1999/xhtml"><br />
      <head><br />
        <title>Longitude en Latitude / van Adres</title></p>
    <p>    <script src="http://maps.google.com/maps?file=api&v=2&key=JE EIGEN KEY" type="text/javascript" charset="utf-8"></p>
    <p>     </script><br />
    		<script type="text/javascript"><br />
        //<![CDATA[</p>
    <p>    function load() {<br />
          if (GBrowserIsCompatible()) {<br />
            geocoder = new GClientGeocoder();<br />
           }<br />
        }</p>
    <p>    function showAddress(geolocation) {<br />
          if (geocoder) {<br />
            geocoder.getLatLng(<br />
              geolocation,<br />
              function(point) {<br />
                if (!point) {<br />
                  alert(geolocation + " not found");<br />
                } else {<br />
     			  document.geoform.longitude.value = point.x;<br />
    			  document.geoform.latitude.value = point.y;<br />
                }<br />
              }<br />
            );<br />
          }<br />
        } </p>
    <p>    // ]]><br />
        </script><br />
    	</head><br />
      <body onload="load()"></p>
    <p><form action="#" name="geoform" id="geoform" onsubmit="showAddress(this.geolocation.value); return false"><br />
    <input  name="geolocation" value="" size="50"  /></p>
    <p>Decimal Longitude:<br />
    <input  name="longitude" type="text" id="longitude" value="" /></p>
    <p>Decimal Latitude:<br />
    <input  name="latitude" type="text"  id="latitude"  value="" /></p>
    <p><input type="submit" value="Longitude/latitude codes" /><br />
    </form></p>
    <p></body></p>
    <p></html><br />
     

    PS: Na submitten zag ik dat er vreemde < p > codes verschijnen. Deze horen er niet thuis.
    (opmaak is simpel gehouden voor test doeleinden en heeft geen < p > .

    Inactief
    Anoniem

    Met .submit() kan je een form verzenden via javascript (http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml)

    Het ophalen van die longitude en latitude duurt wss een paar seconden, waardoor je dus even moet wachten.
    Dus vanaf je die hebt, kan je gewoon de .submit() gebruiken.

    Bijdrager
    Jakko Westerbeke
    Gfive op 23 januari 2012

    longitude en latitude

    Lengtegraad en breedtegraad:)

    Bijdrager
    Gfive

    @W0utR
    In dit geval zou er dan 2 keer geklikt moeten worden. 1 keer voor ophalen longitude en latitude en 1 keer met .submit()? Aangezien een rechtstreekse .submit() niet werkt. (net even getest)

    Maar nu het volgende.
    De adres gegevens heb ik al, deze kan ik vevolgens in een hidden field stoppen. (dit kan ik met het CMS doen) vervolgens longitude en latitude oproepen zodra de pagina laad. Maar hoe doe ik dit.
    Ik heb immers al een body onload.

    @Jakko Westerbeke
    Ik weet het:-)

    Inactief
    Anoniem

    Nee nee, de submit gebeurd via javascript:

    <br />
     if (!point) {<br />
                  alert(geolocation + " not found");<br />
                } else {<br />
      document.geoform.longitude.value = point.x;<br />
      document.geoform.latitude.value = point.y;<br />
      // submit form<br />
                }<br />
     

    Je moet dus wachten tot je de locatie hebt alvorens je alles kan verzenden

    Bijdrager
    Gfive

    @W0utR
    Opgelost.

    <body onload=”load();showAddress(document.getElementById(‘geolocation’).value);”>
    Dan kan ik de onSubmit uit de form tag halen en daarna gewoon op submit klikken:-)

6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.