Карты Google не будут отображаться до обновления страницы

0
<a href="<?php echo 'https://maps.google.com/?q='.$listing->get_address1().$listing->get_city().$listing->get_state()?>" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-c" style="width:125px;height:125px;padding-top:8px">

  <div id ="map-canvas" style="width:125px;height:125px;"></div>

  <div id ="full_map" style="border:1px solid #CCCCCC;padding-top:2px;font-size:12px;text-align:center;position:relative;top:-24px;left:7px;width:110px;height:16px;background-color:#FFFFFF">View Full Map</div>

    </a>

 var map;

 function codeaddress() {
     var address = "<?php echo $listing->get_address1()." ".$listing->get_city()." ".$listing->get_state(); ?>";
     geocoder = new google.maps.Geocoder();
     console.log(address);
     geocoder.geocode( { 'address': address}, function(results, status){
     //alert('geocoding');
     if(status == google.maps.GeocoderStatus.OK){
        var mapOptions = {
                 center: results[0].geometry.location,
                 zoom: 10,
                 mapTypeId: google.maps.MapTypeId.ROADMAP
        };

     map = new google.maps.Map(document.getElementById("map-canvas"),mapOptions);
     marker = new google.maps.Marker({
            position:results[0].geometry.location,
              icon:'icons/orange_marker.png'
     });
     marker.setMap(map);
     console.log(document.getElementById("map-canvas"));
     //alert('marker done');
     console.log(results[0].geometry.location);
     google.maps.event.trigger(map, 'resize');
     }
     else{
          alert('Could not find address as ' + status);
     }
      });
      /google.maps.event.addDomListener(window, 'load', codeaddress());//google.maps.event.trigger(map, 'resize'));
                    }
     $(document).ready(function(){
          codeaddress();
          //google.maps.event.trigger(map, 'resize');
          //alert('I am done here');
     });

Карта-холст заполняется каждый раз, когда страница обновляется. Мне нужно знать, как можно занести карту-холст, не обновляя страницу. Адрес и геокоды вычисляются в функции, но карта не будет заполняться.

Теги:
google-maps

1 ответ

0

Я тоже столкнулся с этой проблемой, я решил ее, вызывая событие resize карты Google.

google.maps.event.trigger(map, 'resize');

Надеюсь ты понимаешь.

  • 0
    Я попробовал это, мне нужно сделать звонок в другом месте?
  • 0
    Итак, если я возьму div карты вне тега, он будет работать до тех пор, пока не будет использована ссылка. Ссылка открывает карты Google в браузере мобильного устройства. После нажатия кнопки «Назад» в браузере карта работает нормально, но если я вернусь на предыдущую страницу в веб-приложении и попробую другой листинг, карта не будет отображаться.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню