2012-03-05 5 views
0

У меня есть страница php. Страница php имеет форму, и когда я нажимаю на кнопку, она вызывает страницу сама. Если значение «submit», я вызываю API для отображения статистики свойств.PHP, геокодирование Google, передача информации

Это прекрасно работает. Но вместо использования местоположения (переданного с формой), я хочу использовать координаты северо-восточного и юго-западного координат, возвращаемые геокодом google.

Мне удалось геокодировать мое местоположение. Но я изо всех сил пытаюсь передать данные с геокода (javascript) на мою php-страницу.

Какая практика?

Редактирование описания.

Вот моя форма вызова:

 <form action="http://www.propertycrunch.co.uk/investment-analysis/" method="post" onsubmit="nesw(this.location.value);"> 
      <input id="location" name="Location" class="searchbox"/> 
      <input type="submit" name="submit" value="Search" id="submitbutton" /> 
     </form> 

<script type="text/javascript"> 
    function nesw(strAddress) { 
     //initialize(); 
     var geocoder; 
     var map; 
     var address = strAddress; 
     // set up Google map, pass in the heatmap function 
     var myOptions = { 
      zoom: 6, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      scaleControl: true 
     } 
     var map = new google.maps.Map(document.getElementById("heatmap"), myOptions); 
     if (address) { 
      alert('Address: ' + address); 
      var geocoder = new google.maps.Geocoder(); 
      geocoder.geocode({ 'address': address}, function(results, status) { 
       if (status == google.maps.GeocoderStatus.OK) { 
        map.setCenter(results[0].geometry.location) ; 
        var ne = results[0].geometry.viewport.getNorthEast(); 
        var sw = results[0].geometry.viewport.getSouthWest(); 
       } 
      }); 

     } 
     alert('coordinates: ' + ne + '/' + sw); 
    } 
</script> 

С уважением, Оливье

+2

Можете ли вы предоставить соответствующий код, с которым вы боретесь? – Josh

ответ

1

Создание 4 скрытых полей для значений 4 (NElat, NElng, SWlat, SWlng) внутри формы и установить значения при вы получаете результат геокодирования.

+0

Привет, доктор Молле. Я тоже думал. Теперь у меня есть форма, называемая самой страницей PHP. Существует параметр, и если значение отправлено, я обрабатываю вызовы API. Я также показываю карту google. Все работает нормально. Теперь, в моей форме, я добавляю параметр onsubmit, который вызывает функцию Javascript. Я хочу, чтобы эта функция геокодировала введенное мной местоположение. Я могу передать адрес моей функции javascript. Но геокодирование терпит неудачу (или ничего не возвращает). Я не знаю, почему. Я попытаюсь добавить код в свое основное описание, так как я не думаю, что могу это сделать в окне комментариев. – Olivier

+0

Вы не можете этого сделать, результаты геокодирования будут получены асинхронно, поэтому форма будет отправлена ​​до получения результатов. Вы можете отменить отправку формы внутри функции и отправить форму сразу после получения ответа. Конечно, вы также можете пропустить клиентский запрос и запросить результаты с помощью PHP. –

Смежные вопросы