2012-05-30 71 views
-1

我想用JS和VB.NET中的Google Maps API v3製作地圖作爲地圖的服務器端數據陣列。我的地圖隨機加載了出簇,但是當我嘗試在地圖上應用簇時,我的標記變得不可見並且不在地圖上顯示。
這是我製作的地圖,也爲集羣我在地圖上的羣集不起作用

<script src="http://www.google.com/jsapi"></script> 

    <script type="text/javascript"> 
     var script = '<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer'; 
     if (document.location.search.indexOf('compiled') !== -1) { 
     script += '_compiled'; 
     } 
     script += '.js"><' + '/script>'; 
     document.write(script); 
    </script> 
<script type="text/javascript"> 
    google.load('maps', '3', { 
     other_params: 'sensor=false' 
     }); 

     google.setOnLoadCallback(initialize); 

var map; 
var markers = [];  
var markerClusterer = null; 
function initialize() { 
var GPS = <%=GPS %> 
var map_center = new google.maps.LatLng(31.2330555556,72.3330555556); 
    var myOptions = { 
     zoom: 6, 
     scaleControl:true, 
     pancontrol: true, 
     streetViewControl: true, 
     center: map_center, 
     mapTypeControl: true, 
     mapTypeControlOptions: { 
     style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
    }, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }  
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    var infowindow = new google.maps.InfoWindow(); 

    var image = 'ico/gn.png'; 
     for(var i=0; i<GPS.length; i++) 
     { 

     var marker=new google.maps.Marker({ 
     position:GPS[i].GPS, 
     draggable:true, 
     icon:image, 
     Info: '<table frame=box><tr><td align="Left"><font face="Arial" size=2 color=#336699>Shop Name:</td><td align="Left"><font face="Arial" size=2>'+ GPS[i].SHOP + '</font></td></tr><tr>'+ 
      '<td align="Left"><font face="Arial" size=2 color=#336699>Owner:</td><td align="Left"><font face="Arial" size=2>'+ GPS[i].OWNER + '</font></td></tr>'+ 
      '<td align="Left"><font face="Arial" size=2 color=#336699>Mobile:</td><td align="Left"><font face="Arial" size=2>'+ GPS[i].MOBILE + '</font></td></tr>'+ 
      '<tr><td align="Left"><font face="Arial" size=2 color=#336699>Distributer:</td><td align="Left"><font face="Arial" size=2>'+ GPS[i].DIST + '</font></td></tr><tr>'+ 
      '<tr><td align="Left"><font face="Arial" size=2 color=#336699>Region:</td><td align="Left"><font face="Arial" size=2>'+ GPS[i].REGION + '</font></td></tr>'+ 
      '<tr><td align="Left"></td><td align="Left"><font face="Arial" size=2 color=#336699><a target=_blank href=http://221.120.216.52/elp/sfpl.php?ccode=01&amp;&regno='+ GPS[i].REGNO +'>View</a></td></tr>'+ 
      '</table>', 
      title:GPS[i].SHOP + '(' +GPS[i].DIST + ')' 
     }); 
     markers.push(marker); 
     google.maps.event.addListener(markers[i], 'click', function() { 
      infowindow.setContent(this.Info); 
      infowindow.open(map,this); 
      }); 
     } 
     markerClusterer = new MarkerClusterer(map,markers, 
     { 
     maxZoom:5 
     }); 
     } 



    </script> 

任何代碼?請幫我解決這個問題,並告訴我我的代碼中缺少的是什麼。

+0

任何一個請回答這個問題 – user1397781

回答

0

我不確定你的問題是什麼。當我更換

var GPS = <% GPS %> 

有:

var pos1 = new google.maps.LatLng(31.2330555556,72.3330555556); 
var pos2 = new google.maps.LatLng(30.5,71.1); 
var pos3 = new google.maps.LatLng(32.4,73.4); 

    var test = { 
    GPS: pos1, 
    SHOP: 'Blah', 
    OWNER: 'bob', 
    REGION: 'pakistan', 
    DIST: 1 
} 

var test2 = { 
    GPS: pos2, 
    SHOP: 'Blawefah', 
    OWNER: 'cat', 
    REGION: 'pakistan', 
    DIST: 2 
} 

var test3 = { 
    GPS: pos3, 
    SHOP: 'Blsdfah', 
    OWNER: 'fred', 
    REGION: 'pakistan', 
    DIST: 3 
} 

var GPS = new Array(); 
GPS[0] = test; 
GPS[1] = test2; 
GPS[2] = test3; 

我讓我的三個測試標記。當我縮小這三個標記時消失,出現一個標記簇,編號爲3(表示簇中標記的數量)。

你確定你的GPS陣列是從VB正確填充?

+0

是先生標記正在從VB陣列裝載好只有羣集不出現在Makrers – user1397781

+0

如果U想然後U可以檢查我的地圖在這裏http://202.125.144.34/Map/test1。 aspx – user1397781

+0

@ user1397781該頁面不適合我。 –