2016-09-21 3 views
0

Функция jQuery для выработки и возврата lat и long от заданного адреса не работает. Я получаю адрес ввода из формы, и я могу отобразить адрес в функции jQuery, но геокод ничего не возвращает.Почему функция jQuery не возвращает никакого значения?

<?php 
    echo $this->Form->input('address_street',['id' => 'street']); 
    echo $this->Form->input('address_suburb',['id' => 'suburb']); 
    echo $this->Form->input('address_postcode',['id' => 'postcode']); 
    echo $this->Form->input('address_state',['id' => 'state','type' => 'select', 'options' => $auStates, 'default' => 'VIC']); 
?> 
<hr> 
<?php 
    echo $this->Form->input('address_lat',['id' => 'lat']); 
    echo $this->Form->input('address_long',['id' => 'long']); 
?> 

$(document).ready(function($) { 
    var geocoder = new google.maps.Geocoder(); 

    $(document).on('click', '#calculate_address_lat_long', function() { 
     var address = ''; 
     address += $('#street').val(); 
     address += ' ' + $('#suburb').val(); 
     address += ' ' + $('#postcode').val(); 
     address += ' ' + $('#state').val(); 

     // alert($('#street').val()); 
     // alert(address); 

     geocoder.geocode({ 'address': address}, function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       console.log(results); 
       var latitude = results[0].geometry.location.lat(); 
       var longitude = results[0].geometry.location.lng(); 
       $('#lat').val(latitude); 
       $('#long').val(longitude); 
       $('#formated_address_lat_long') 
       .html('<div class="alert alert-success">' + results[0].formatted_address + '</div>') 
       .fadeTo(100, 0.1).fadeTo(250, 1) 
       .css({"position": "relative","top": "15px"}); 
       alert($('#lat').val(latitude)); 
      } else { 
       alert($('#lat').val(latitude)); 
       alert($('#long').val(longitude)); 
       $('#formated_address_lat_long') 
       .fadeTo(100, 0.1).fadeTo(250, 1) 
       .html('<div class="alert alert-error">Address Not Found</div>') 
       .css({"position": "relative","top": "15px"}); 
      } 
     }); 
    }); 
}); 

Как его решить?

+0

Это может быть erroring - обеспечить функцию ошибки, а также. –

+1

Что значит «возвращение»? Какой результат? Какие предупреждения вы видите? Есть ли ошибки в консоли? – JJJ

+0

Я не получаю сообщение об ошибке и с предупреждением могу получить адрес, но ничего внутри функции geocoder.geocode. Если вы видите OP, у меня есть предупреждения в функции геокода, но ничего не выводится – ajt

ответ

0

Если я включил строку ниже
это решило проблему

  <script type="text/javascript" src="maps.google.com.au/maps  /api/js?sensor=false"></…