2016-10-13 78 views
0

私の問題は、GoogleマップAPIを呼び出し、デスクトップ上のブラウザ、私が使用しているブラウザGoogle Chromeですが、Androidの携帯電話を使って表示しようとすると表示されませんが、画面を回転させるとうまくいきます。GoogleマップJavaScriptがモバイルブラウザに完全にロードされていません

enter image description here

私は私の画面を回転すると、それは以下の罰金 enter image description here

私のコードは、あなたがAndroidデバイスを使用する場合は、Google Chromeはあり

var markers = new Array(); 
var map ; 
function initialize(locations,firstLat,firstLng,hovericon,zoomLevel) { 
    var locations = locations; 
    map = new google.maps.Map(document.getElementById('map_canvas'), { 
    scrollwheel   : false, 
    zoom     : zoomLevel, 
    center    : new google.maps.LatLng(parseFloat(firstLat), parseFloat(firstLng)), 
    disableDefaultUI  : false, 
    streetViewControl  : false, 
    mapTypeControlOptions : { mapTypeIds: [] }, 
    mapTypeId    : google.maps.MapTypeId.ROADMAP 
    }); 
    map.setOptions({ minZoom: 3, maxZoom: 20 }); 
    var marker, i; 
    map.setOptions({styles: styles}); 
    Object.size = function(obj) { 
    var size = 0, key; 
     for (key in obj) { 
      if (obj.hasOwnProperty(key)) size++; 
     } 
     return size; 
    }; 
    var markerclusterer = null; 
    var mc = new MarkerClusterer(map); 
    for (i = 0; i < Object.size(locations); i++) { 
     marker = new google.maps.Marker({ 
     position  : new google.maps.LatLng(locations[i][1], locations[i][2]), 
     icon   : site_url+'assets/front/images/'+locations[i][4], 
     map   : map, 
     jobID  : locations[i][3], 
     draggable : false, 
     originalicon : site_url+'/assets/front/images/'+locations[i][4], 
     hovericon : site_url+'assets/front/images/'+hovericon, 
     zIndex  : Math.round((locations[i][1], locations[i][2])*-100000)<<5 
     }); 
     google.maps.event.addListener(marker, 'click', function() { 
     //alert(this.jobID); 
     var appElement=document.querySelector('[ng-app=yolomd]'); 
     var $rootscope = angular.element(appElement).scope(); 
     console.log($rootscope); 
     $rootscope.ismarkerClicked=this.jobID; 
     $rootscope.$apply(); 
      // window.location.href = this.jobID; 
     }); 
     google.maps.event.addListener(marker, "mouseover", function() { 
      this.setIcon(this.hovericon); 
     }); 
     google.maps.event.addListener(marker, "mouseout", function() { 
      this.setIcon(this.originalicon); 
     }); 
     markers.push(marker); 
     mc.addMarker(marker); 
     function AutoCenter() 
     { 
     var bounds = new google.maps.LatLngBounds(); 
      $.each(markers, function (index, marker) { 
      bounds.extend(marker.position); 
      }); 
     map.fitBounds(bounds); 
     } 

    if(zoomLevel==10){ 
     AutoCenter(); 
     } 
     google.maps.event.trigger(map, "resize"); 
    } 
} 

答えて

2

ですがロードされますオプションを使用してデバイスに接続し、そのデバイス用の開発ツールを使用します。実際には、デバイス用のChromeコンソールが用意されています。

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

あなたはjavascriptの機能に問題がある場合に、スローされたエラーを参照してください、または外出先でパラメータを変更することができますこの方法です。

こちらがお役に立てば幸いです。

関連する問題