Dear all, I've tried to look into old posts and when not finding the needed guidance I decided to post a new thread...
My challenge: I need to pass the lat and lng to a PHP-script via a hidden input- field. Yes, sounds basic and it is. I'm fairly good in PHP but a newbie when it comes to Javascript and AJAX and would truely appriciate any help. I'm reusing a script that lets the user search for a location and then also drag the marker to a specif place if needed. After pinpointing the locating the user will also add additional text into other forms and the (s)he should submit the form. I would then like the lat and lng to be passed to the PHP-script. The map can be found at www.g8journey.com I'm planning to use the following code; var html ="<form method='post' enctype='multipart/form-data' action='plog-upload.php'><input type='hidden' name='lat' value='"+p [0]+"' /><input type='hidden' name='lng' value='"+p[1]+"' />"; document.write(html); Where in the javascript should I place it? Any help is appriciated! Thank you all! Total script looks like this, located inbetween the head-tags; <script src="http://maps.google.com/maps? file=api&v=2&sensor=false&key=key" type="text/ javascript"></script> <script type="text/javascript"> //<![CDATA[ if (GBrowserIsCompatible()) { var map; var geo; var reasons=[]; function load() { map = new GMap(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(20,0),2); // ====== Create a Client Geocoder ====== geo = new GClientGeocoder(); // ====== Array for decoding the failure codes ====== 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."; } // ===== list of words to be standardized ===== var standards = [ ["road","rd"], ["street","st"], ["avenue","ave"], ["av","ave"], ["drive","dr"], ["saint","st"], ["north","n"], ["south","s"], ["east","e"], ["west","w"], ["expressway","expy"], ["parkway","pkwy"], ["terrace","ter"], ["turnpike","tpke"], ["highway","hwy"], ["lane","ln"] ]; // ===== convert words to standard versions ===== function standardize(a) { for (var i=0; i<standards.length; i++) { if (a == standards[i][0]) {a = standards[i][1];} } return a; } // ===== check if two addresses are sufficiently different ===== function different(a,b) { // only interested in the bit before the first comma in the reply var c = b.split(","); b = c[0]; // convert to lower case a = a.toLowerCase(); b = b.toLowerCase(); // remove apostrophies a = a.replace(/'/g ,""); b = b.replace(/'/g ,""); // replace all other punctuation with spaces a = a.replace(/\W/g," "); b = b.replace(/\W/g," "); // replace all multiple spaces with a single space a = a.replace(/\s+/g," "); b = b.replace(/\s+/g," "); // split into words awords = a.split(" "); bwords = b.split(" "); // perform the comparison var reply = false; for (var i=0; i<bwords.length; i++) { //GLog.write (standardize(awords[i])+" "+standardize(bwords [i])) if (standardize(awords[i]) != standardize(bwords[i])) {reply = true} } //GLog.write(reply); return (reply); } // ====== Plot a marker after positive reponse to "did you mean" ====== function place(lat,lng) { var point = new GLatLng(lat,lng); map.setCenter(point,12); map.addOverlay( new GMarker ( point, {draggable: true} ) ); document.getElementById("message").innerHTML = ""; //var html ="<form method='post' enctype='multipart/form-data' action='plog-upload.php'><input type='hidden' name='lat' value='"+lat +"' /><input type='hidden' name='lng' value='"+lng+"' />" //document.write(html); } // ====== Geocoding ====== function showAddress() { var search = document.getElementById("search").value; // ====== Perform the Geocoding ====== geo.getLocations(search, function (result) { map.clearOverlays(); if (result.Status.code == G_GEO_SUCCESS) { // ===== If there was more than one result, "ask did you mean" on them all ===== if (result.Placemark.length > 1) { document.getElementById("message").innerHTML = "Did you mean:"; // Loop through the results for (var i=0; i<result.Placemark.length; i++) { var p = result.Placemark[i].Point.coordinates; document.getElementById("message").innerHTML += "<br>"+(i+1)+": <a href='javascript:place(" +p[1]+","+p[0]+")'>"+ result.Placemark[i].address+"<\/a>"; } } // ===== If there was a single marker, is the returned address significantly different ===== else { document.getElementById("message").innerHTML = ""; if (different(search, result.Placemark[0].address)) { document.getElementById("message").innerHTML = "Did you mean: "; var p = result.Placemark[0].Point.coordinates; document.getElementById("message").innerHTML += "<a href='javascript:place(" +p[1]+","+p[0]+")'>"+ result.Placemark [0].address+"<\/a>"; } else { var p = result.Placemark[0].Point.coordinates; place(p[1],p[0]); document.getElementById("message").innerHTML = "Located: "+result.Placemark[0].address; } } } // ====== 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"); } //window.location.href = "plog-upload.php?long="point.lat(); //]]> </script> HTML-part: <form onsubmit="showAddress(); return false" action="#"> <input id="search" size="45" type="text" value="" /> <input type="submit" value="Go!" /> </form> <div id="message"></div> <div id="map" style="width: 450px; height: 300px"></div><p> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Maps API" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-Maps-API?hl=en -~----------~----~----~----~------~----~------~--~---
