Google Maps API и Javascript и $ (документ) .ready (функция () - PullRequest
1 голос
/ 10 ноября 2011

Я пытаюсь реализовать функциональность карт Google, и мне нужно выяснить, где в моем коде должен находиться следующий скрипт:

google.maps.event.addDomListener(window, 'load', initialize);

function initialize() {
    var myLatLng = new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>);

var myOptions = {
    zoom: 15,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    }
map = new google.maps.Map(document.getElementById("map-canvas-1"),myOptions); 

var myOptions2 = {
    zoom: 15,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.HYBRID
    }
map2 = new google.maps.Map(document.getElementById("map-canvas-2"),myOptions2);  

  var myOptions3 = {
    zoom: 15,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.SATELLITE
    }
  map3 = new google.maps.Map(document.getElementById("map-canvas-3"),myOptions3);  

  var marker = new google.maps.Marker({
  position: myLatLng, 
  map: map, 
  title:"Map1" }); 

  var marker = new google.maps.Marker({
  position: myLatLng, 
  map: map2, 
  title:"Map2" }); 


  var marker = new google.maps.Marker({
  position: myLatLng, 
  map: map3, 
  title:"Map3" }); 

  map3.getStreetView().setPosition(myLatLng);
  map3.getStreetView().setVisible(true);

}

В настоящее время этот код находится внутри $ (document {.ready (function ()) и, кажется, работает нормально, за исключением того, что он приводит к тому, что следующие функции jQuery / ajax перестают работать:

jQuery.ajax({
    url: sURL + 'billingEventDetail/ajaxGetTaxClasses/',
    dataType: 'json',
    success: function(data) {
        taxClassData = data;
        jQuery.each(taxClassData.description , function(key, value){
            jQuery('#sel_tax_class').append(new Option(value, key));
        });
    }
});

jQuery.ajax({
    url: sURL + 'billingEventDetail/ajaxGetBillingEventDetails/',
    dataType: 'json',
    success: function(data) {
        taxQualifierData = data;
        jQuery.each(taxQualifierData.description , function(key, value){
            jQuery('#sel_tax_qualifier').append(new Option(value, key));
        });
    }
});

Когда я временно отключаю код Google Maps, JQuery / Ajax снова начинает работать. Почему у меня проблемы с получением этих двух кусков кода для совместной работы? Может быть, код Google Maps не должен быть внутри $ (document {.ready (function () ??

)

У кого-нибудь есть идеи для меня?

1 Ответ

2 голосов
/ 10 ноября 2011

Вам не нужно помещать вещи из карт Google в документ document.ready.Вы уже регистрируете прослушиватель событий в window.load, который вызывает initialize (), так что этого должно быть достаточно.Переместите все это из документа.Я не могу гарантировать, что именно это вызывает проблемы с вашим AJAX.

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