2012-12-18 10 views
6

Po aktualizacji pól WP Advanced Customs mam problem z mapami google. Mapa wyświetla się poprawnie, ale strona ładuje się w nieskończoność. JS konsola błąd w FF pokazywanie błędów:Błędy Google Maps API V3 po uaktualnieniu wtyczki WP

Error: a is undefined 
Source File: https://maps.gstatic.com/intl/en_us/mapfiles/api-3/10/19/main.js 
Line: 70 

Error: q.queue[Za]() is not a function 
Source File: https://maps.gstatic.com/intl/en_us/mapfiles/api-3/10/19/main.js 
Line: 74 

mój kod, który generuje mapę JS jest:

<script type="text/javascript" src="https://maps.google.com/maps/api/js? key=AIzaSyCwynu3lxKxNPk5DNMWCx8oyGX8ka8_KqU&amp;sensor=false"></script> 
<script type="text/javascript"> 
    //<![CDATA[ 
    var is_init = false; 
    var map; 
    function map_init() { 
     var latlng = new google.maps.LatLng(<?php echo $lat; ?>, <?php echo $lng; ? >); 
     var myOptions = { 
      zoom: <?php echo $zoom; ?>, 
      center: latlng, 
      scrollwheel: false, 
      panControl: false, 
      zoomControl: true, 
      mapTypeControl: false, 
      scaleControl: true, 
      streetViewControl: true, 
      overviewMapControl: false, 
      mapTypeId: google.maps.MapTypeId.<?php echo $maptype; ?> 
     }; 
     map = new google.maps.Map(document.getElementById("map_canvas"), myOp tions); 
     var marker; 
     var latlng; 

     <?php $i = 0; foreach($markers as $title=>$marker): ?> 
     <?php if(!empty($marker['lat']) && !empty($marker['lng'])) { ?> 
     latlng = new google.maps.LatLng(<?php echo $marker['lat']; ?>,<?php echo  $marker['lng']; ?>); 
     marker<?php echo $i; ?> = new google.maps.Marker({ 
      position: latlng, 
      map: map, 
      icon: '/wp-content/themes/iw/marker/<?php echo $marker['typ']; ? >.png', 
      title: '<?php echo $title; ?>' 
     }); 
     google.maps.event.addListener(marker<?php echo $i; ?>, 'click', function()  { 
      window.location.href = '<?php echo $marker['link']; ?>'; 
     }); 
      google.maps.event.addListener(marker<?php echo $i; ?>, 'mouseover',  function() { 
      jQuery('.sbmlink<?php echo $i; ?>').addClass('mouseover'); 
     }); 
     google.maps.event.addListener(marker<?php echo $i; ?>, 'mouseout', func tion() { 
      jQuery('.sbmlink<?php echo $i; ?>').removeClass('mouseover'); 
     }); 
     <?php } ?> 
     <?php $i++; endforeach; ?> 
     is_init = true; 

} 
    jQuery(function(){ 
     jQuery('#map_button').click(function(){ 
      jQuery('#map_canvas').toggle(); 
      if (!is_init) { 
       map_init(); 
      } 
      if(jQuery('#map_button').html() == 'Hier klicken, um die Karte  einzublenden') { 
        jQuery('#map_button').html('Hier klicken, um die Karte auszublenden'); 
       document.cookie="mapstate=open; path=/;"; 
      } else { 
        jQuery('#map_button').html('Hier klicken, um die  Karte einzublenden'); 
       document.cookie="mapstate=closed; path=/;"; 
      } 
     }); 
     <?php if ($mapstate == 'open' || ($map_default_open &&  !isset($_COOKIE['mapstate']))): ?> 
     jQuery('#map_button').click(); 
     <?php endif; ?> 
      jQuery.ajax({ 
      dataType : 'json', 
     // url : '/wetter.php?ort=<?php echo $custom['wetterort'][0]; ?>', 
      success : function(data) { 
       jQuery('.wetterzustand').html(data.wetterzustand); 
       jQuery('.wettertemperatur').html(data.wettertemperatur + '  &deg;C'); 
       jQuery('.wettericon').html('<img alt="' +  data.wetterzustand + '" src="' + data.wettericon + '"/>'); 
      } 
     }); 
    }); 
    //]]> 
    </script> 
+0

proszę pokazać nam źródła wygenerowanego kodu JS bez PHP –

+0

Teraz są zerowe błędów, ale nieograniczone strona obciążenia i tylko na FF. – coderplusplus

+0

Oto kod JS: http://pastebin.com/jQzmMDkW Próbowałem wszystkiego, czyściłem przeglądarkę, próbowałem na innych komputerach tego samego problemu tylko na FF. – coderplusplus

Odpowiedz

0

tych błędów przyszedł ponieważ kiedy zaktualizować WordPress, to doesnot aktualizacji jQuery UI, , więc musimy wstawić kod ręcznie w functions.php naszego motywu, aby zaktualizować jquery-ui. Miałem też ten sam problem. Pomogło mi to.

function new_google_map_script($post) { 

     wp_enqueue_style('admin-main', get_bloginfo('template_url') . '/css/admin-main.css'); 
     //wp_enqueue_style('jquery-ui', get_bloginfo('template_url') . '/css/jquery-ui.css'); 
     wp_enqueue_style('wp-jquery-ui'); 
     wp_enqueue_style('wp-jquery-ui-dialog'); 
    } 
    add_action('wp_enqueue_scripts', 'new_google_map_script'); 
Powiązane problemy