2012-01-10 8 views
0

XML 파일을 기반으로지도에 markerclusterer를 설정하고 싶습니다.Google지도 마커 클러스터링 - markerclusterPlus

나는 markerclusterPlus 버전 3을 사용합니다! http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/

문제는 마커가 표시되지 않습니다 그리고 난 몰라, 왜

markers.xml

<?xml version="1.0"?> 
<markers> 
    <marker> 
     <name>Heineken Amsterdam</name> 
     <address>Joop Geesinkweg 5</address> 
     <city>Amsterdam</city> 
     <postcode>1096 AT</postcode> 
     <lat>52.3354</lat> 
     <lng>4.92938</lng> 
     </marker> 
</markers> 

index.php를

<html> 
<head> 
<title>Google Maps Integration</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script> 
<script type="text/javascript" src="js/markerclusterer.js"></script> 
<style type="text/css"> 
#map { 
     width: 675px; 
     height: 659px; 
     } 
</style> 
<script type="text/javascript"> 
function initialize() { 
     var filename = "markers.xml"; 
     var center = new google.maps.LatLng(51.918, 4.47663); 

     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 7, 
      center: center, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }); 

     var markers = []; // array markers 
     $.get(filename, function(xml){ 
      $(xml).find("marker").each(function(){ // get each marker position 
       var name = $(this).find('name').text(); 
       var address = $(this).find('address').text(); 
       // create a new LatLng point for the marker 
       var lat = $(this).find('lat').text(); 
       var lng = $(this).find('lng').text(); 
       var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng)); 
       var marker = new google.maps.Marker({ 
        position: point, 
        map: null, 
        html: '<b>'+name+'</b><br>'+address 
       });  

       markers.push(marker); // push marker to markers array 
      }); 
     }); 
     var markerCluster = new MarkerClusterer(map, markers); // create marker clusterer 
     } 
google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
</head> 
<body> 
<div id="map"></div> 
</body> 
</html> 
+0

MYMAP.map이란 무엇입니까? 클러스터러에 마커를 표시하면 맵에 할당하면 안됩니다. map : null – slawekwin

+0

예, 변경했습니다! 지도에는 아직 마커가 없습니다. – burner007

답변

0

$ (xml) .find ("marker") 앞에이 줄을 삽입하십시오. (함수() :

var xml = parseXml("<div>" + xml + "</div>");