Получить координаты GPS для карт Google - PullRequest
0 голосов
/ 17 марта 2012

У меня на сайте есть HTML-форма с полем GPS-координаты. Как я могу получить координаты, чтобы я мог отобразить их на Картах Google и сохранить их в базе данных?

1 Ответ

1 голос
/ 17 марта 2012

Предлагаю вам заглянуть в раздел геокодеров API Карт Google V3. Я только что прошел этот вопрос сам. При построении вашей формы включите скрытые входные данные для lat и long (какими бы ни были ваши имена полей в вашей базе данных), например:

<input type="hidden" name="data[Location][lat]"  id="LocationLat"/>
<input type="hidden" name="data[Location][lon]"  id="LocationLon"/>

В поле ввода адреса вы скажете что-то вроде этого:

<input name="data[Location][address]" onChange="getLatLong(address)" size="50" maxlength="255" type="text"/>

, где вы включаете вызов функции JavaScript, называемой getLatLong ().
Ниже приведен пример функции:

<script type="text/javascript" >

 var geocoder;
 var add = document.getElementById("LocationAddress");

 function getLatLong(address){
 geocoder = new google.maps.Geocoder();


  geocoder.geocode({ 'address':address},function(results, status){

          if (status == google.maps.GeocoderStatus.OK) {
            document.getElementById("LocationLat").value=results[0].geometry.location.lat();
              document.getElementById("LocationLon").value=results[0].geometry.location.lng();


          } else {
            alert("Geocode was not successful for the following reason: " + status);

}
   });

 }
 </script>

Возможно, вам придется немного поиграть с этим. Обязательно выполните поиск геокодера Google здесь, на SO, так как я нашел свое решение по частям, которые я получил прямо с этого сайта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...