2012-04-03 81 views
1

我需要使用某种进度条或轮子等,因为我有很多标记,并且需要一些时间来加载所有这些标记。我想使用加载或轮等动画图像作为背景,以地图画布来显示进度.. 我需要测试是否所有的标记已加载..如何做到这一点? 如果我可以这样做,我可以将地图背景作为进度栏图标,直到所有标记都加载完毕,然后一旦它们全部加载完毕,隐藏进度栏图标或风扇?这是一个好主意吗?如何测试所有标记是否已在谷歌地图中加载?

var geocoder; 
      var map; 
      function initialize() { 
      geocoder = new google.maps.Geocoder(); 
      var latlng = new google.maps.LatLng(42.095287, -79.3185139); 
      var myOptions = { 
       maxZoom: 14, 
       zoom: 9, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }; 
      map = new google.maps.Map(document.getElementById("map_canvas"), 
       myOptions); 
      createOverlay(); 
      } 

     function codeAddress() { 
      var infowindow = new google.maps.InfoWindow({}); 
      $('.LocationAddress').each(function() { 
       var addy = $(this).text(); 
       geocoder.geocode({ 'address': addy}, function(results, status) { 
        if (status == google.maps.GeocoderStatus.OK) { 
          map.setCenter(results[0].geometry.location); 
          var marker = new google.maps.Marker({ 
          position: results[0].geometry.location, 
          map: map,    
          title:addy, 
         }); 

        //Adding a click event to the marker 
        google.maps.event.addListener(marker, 'click', function() { 
         infowindow.setContent('<div id=\"infowindow\" style=" height:100px;>' 
               +'<div id=\"LeftInfo\">'+ "Hello World!" 
               +'</div>'+'</div>'); 
         infowindow.open(map, this); 
        }); 
       } 
       });//Geocoder END 

      }); 
     } 

回答

1

您可能希望查阅Google Maps API V3 Progress Bar的控件,代码和示例。它似乎做你想做的事情,虽然你可能会有一些额外的复杂性,因为你让人们为标记输入他们自己的地址点。