2012-01-16 107 views
0

大家好,markerclusterer無法正常工作?

我正在用我們公司的客戶的標記做谷歌地圖,這樣銷售人員就可以做一個簡單的旅行指南。然而,我得到了很多標記,所以我需要將它們聚類以正確加載它們。現在,我發現了幾個網站,稱markerclusterer是所有內容中最快的,但是如果我嘗試實現它,它不起作用(我不是擅長編程:()但是也許有人在這裏知道我在做什麼錯在這裏是我使用的代碼 從.xml文件中獲取標記也發現這2個網站,但即使有這個幫助我可以'牛逼找出我做錯了什麼

http://groups.google.com/group/google-maps-api/browse_thread/thread/a9cd6ed3ae8eabe6/a07a3b9ae7aae196 http://www.svennerberg.com/examples/markers/markerPerformance.html#

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
    <head> 
    <title>Google Maps</title> 
    <script src="js/markerclusterer.js" type="text/javascript"></script> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAPDUET0Qt7p2VcSk6JNU1sBSM5jMcmVqUpI7aqV44cW1cEECiThQYkcZUPRJn9vy_TWxWvuLoOfSFBw" type="text/javascript"></script> 
    </head> 
    <body onunload="GUnload()"> 

    <!-- you can use tables or divs for the overall layout --> 


      <div id="map" style="width: 550px; height: 450px"></div> 


    <script type="text/javascript"> 
    //<![CDATA[ 

    if (GBrowserIsCompatible()) { 

     // A function to create the marker and set up the event window 
     function createMarker(point,html) { 
     var marker = new GMarker(point); 
     GEvent.addListener(marker, "click", function() { 
      marker.openInfoWindowHtml(html); 
     }); 
     return marker; 
     } 


     // This function picks up the click and opens the corresponding info window 
     function myclick(i) { 
     GEvent.trigger(gmarkers[i], "click"); 
     } 


     // create the map 
     var map = new GMap2(document.getElementById("map")); 
     map.addControl(new GLargeMapControl()); 
     map.addControl(new GMapTypeControl()); 
     map.setCenter(new GLatLng(51.907787,5.359741), 9); 
     map.enableScrollWheelZoom(); 


     // Read the data from example.xml 
     GDownloadUrl("test.xml", function(doc) { 
     var xmlDoc = GXml.parse(doc); 
     var markers = xmlDoc.documentElement.getElementsByTagName("marker"); 

     for (var i = 0; i < markers.length; i++) { 
      // obtain the attribues of each marker 
      var lat = parseFloat(markers[i].getAttribute("lat")); 
      var lng = parseFloat(markers[i].getAttribute("lng")); 
      var point = new GLatLng(lat,lng); 
      var html = markers[i].getAttribute("html"); 
      // create the marker 
      var marker = createMarker(point,html); 
      map.addOverlay(marker); 
      markers.push(marker); 
     } 
     }); 
     var markerCluster = new MarkerClusterer(map, markers); 
    } 

    else { 
     alert("Sorry, the Google Maps API is not compatible with this browser"); 
    } 


    //]]> 
    </script> 
    </body> 

</html> 

回答

3

因爲谷歌地圖V2已經過時,你應該重寫代碼,以V3的! 在這裏你可以找到一些如何整合markerclusterer的例子:Click here for Reference

+0

是不是有什麼辦法可以在google maps v2中實現markerclusterer?正如我已經提到,我不善於編程,所以重寫它到v3將是非常困難的,我只有2個星期,直到我的實習結束我不需要完成這一點,但我會很高興,如果我做到了:P – ronnie 2012-01-19 15:06:14