2012-05-30 3 views
-1

JS 및 VB.NET에서 Google Maps API v3을 사용하여 맵의 서버 측 데이터 배열로 맵을 만들려고합니다. 내지도가 밖으로 클러스터와 succefuly로드 된하지만지도에 클러스터를 적용하려고하면 내 마커가 보이지 않는되고지도에 게재되지 않습니다. 여기
지도를 만들기위한 또한 클러스터지도상의 내 클러스터가 작동하지 않습니다.

<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

예 선생님 Markers가 VB Array에서만 잘로드됩니다. 악의적 인 것에서 클러스터가 나타나지 않습니다. – user1397781

+0

U가 원할 경우 U는 내지도를 여기에서 확인할 수 있습니다. http://202.125.144.34/Map/test1. aspx – user1397781

+0

@ user1397781 그 페이지가 나에게 적합하지 않습니다. –