簡體   English   中英

加載后的谷歌地圖發出ajax請求

[英]Google Map after load make ajax request

有沒有辦法知道谷歌地圖是否已加載? 我需要在地圖加載后發出 ajax 請求

目前,我在帶有信息窗口的地圖中顯示一組用戶。 但問題是由於瀏覽器卡住了太多數據。

    var infowindow;
    var markersLongLat = {$markersLongLat};
    var geocoder = new google.maps.Geocoder();
    var markerImg = '{$markerImg}';

        function initialize() {
        if(hasFilter == 1){
        var zoom = 2;
        var myLatlng = new google.maps.LatLng(0, 0);
        if('' != markersLongLat){
        var myLatlng = new google.maps.LatLng(markersLongLat[0].lat, markersLongLat[0].long);
        var zoom = 5;
        }
        var myOptions = {
            zoom: zoom,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        }
        else{
        var myLatlng = new google.maps.LatLng(0, 0);
        var myOptions = {
            zoom: 2,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        }
        map = new google.maps.Map(document.getElementById('googleMap'), myOptions);
        console.log('map loaded successfully');

        // Adding longLat markers
        if ('' != markersLongLat) {
        console.log('markersLongLat');
        for (var x = 0; x < markersLongLat.length; x++) {                 var person =  new Object();
            person.id = markersLongLat[x].id
            person.name = markersLongLat[x].name
            person.lat = markersLongLat[x].lat
            person.long = markersLongLat[x].long
            person.address = markersLongLat[x].address

           codeLongLat(person);
      }
       }




     function codeLongLat(markersLongLat) {
        var lat = markersLongLat.lat;
        var long = markersLongLat.long;
        var name = markersLongLat.name;
        var info = markersLongLat.info;
        var markerObj = new MarkerWithLabel({
              map: map,
              position: new google.maps.LatLng(lat, long),
              title: name,
              labelContent: name,
              labelClass: 'marker-labels',
              icon:markerImg
         });

          google.maps.event.addListener(markerObj, 'click', function() {
          if (infowindow) infowindow.close();
          infowindow = new google.maps.InfoWindow({content: info});
          infowindow.open(map, markerObj);
          });
     }

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

我想你正在尋找這個..

google.maps.event.addListenerOnce(map, 'idle', function(){
    //loadedFully
});

有關更多信息, 請參閱此

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM