Cześć, obecnie używam Googlemapsaps API V3 i próbuję uzyskać zmienne na szerokość i długość geograficzną i umieścić je w ukrytej formie jako zmienne HTML i przekazać je przez formularz na stronę PHP. Szerokość i długość geograficzna drukuje na mojej stronie jako rozpiętość, ale nie mogę je wydrukować w formie.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"       
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Untitled 1</title>

   <!-- google maps -->
   <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">        </script>

    <!-- jquery -->
   <script type="text/javascript" src="js/jquery.min.js"></script>

   <!-- jquery UI -->
   <script type="text/javascript" src="js/jquery-ui.min.js"></script>

   <!-- our javascript -->
   <script type="text/javascript" src="gmaps.js"></script>

   <link rel="stylesheet" type="text/css" href="style4.css" />


   </head>

   <body>

      <input id='gmaps-input-address' type='text'/>

    <div id='gmaps-error'></div>

    <div id='gmaps-canvas'></div>

      <br/>
      <br/>
    Latitude: <span id='gmaps-output-latitude'></span>
      <br/>
      Longitude: <span id='gmaps-output-longitude'></span>
      <br/>     

    <script type="text/javascript">

    function doSomething()
    {
    var lat = document.getElementById('#gmaps-output-latitude');
    lat_element.value = google_maps_api_variable;
    var lon = document.getElementById('#gmaps-output-longitude');
    lon_element.value = google_maps_api_variable;
    document.getElementById("lat").value=lat;
    document.getElementById("lon").value=lon;
    }
    </script>


   <form action="join.php" method="post" onSubmit="doSomething">

   <input type="hidden" name="lat" id="lat"/>
   <input type="hidden" name="lon" id="lon"/>

   <input type="submit" value="Confirm Address"/>
   </form>
   </body>


   </html>

W API Mapy Google znajduje się funkcja JavaScript, która utrzymuje szerokość i długość geograficzną w następujący sposób:

function update_ui( address, latLng ) {
 $('#gmaps-input-address').autocomplete("close");
 $('#gmaps-input-address').val(address);
 $('#gmaps-output-latitude').html(latLng.lat());
 $('#gmaps-output-longitude').html(latLng.lng());
 }

Jestem bardzo zielony z JavaScriptem i naprawdę doceniałbym jakąkolwiek pomoc, szukałem innych pytań, aby dostać się tak daleko, ale utknąłem tutaj.

1
Brian O keeffe 22 sierpień 2012, 19:12

2 odpowiedzi

Najlepsza odpowiedź

Wystarczy dodać to po wprowadzonym kodzie (do pracy, zanim formularz podnosi jako Click Handler formularza Swittal Buon lub Coś):

$('#lat').val($('#gmaps-output-latitude').html());
$('#lon').val($('#gmaps-output-longitude').html());
1
Rooster 22 sierpień 2012, 15:27

GMAPS.JS jest Twoim JS, który wypełnia rozpiętość w pliku HTML. Powinno to dzieje się za pomocą funkcji zwrotnej, którą prawdopodobnie myślę, że jest aktualizacja_ui. Funkcja ta może wypełnić rozpiętość później, a skrypt do wypełnienia ukrytych pola mogło już wykonać. Umiejęta więc kodeksu wypełnienia ukrytych pól po połączeniu funkcji wywołania zwrotnego lub może być w samym aktualizacji_ui.

Więc edytuj funkcję aktualizacji_ui i dodaj

$('#lat').val(latLng.lat());
$('#lon').val(latLng.lng());

Te linie w korpusie funkcji w końcu.

0
sushil bharwani 22 sierpień 2012, 15:22