Domanda

Salve a tutti,

Sto realizzando una mappa di Google con i marcatori dei clienti della nostra azienda, in modo che i venditori possano fare una guida di viaggio facile. Tuttavia ho ottenuto molti marcatori, quindi ho bisogno di raggrupparli per caricarli correttamente. Ora ho trovato alcuni siti che dicevano che MarkerClusterer era il più veloce del tutto, tuttavia se provo ad implementarlo non funziona (non lo sono Bene nella programmazione :() Tuttavia, forse qualcuno qui sa cosa sto facendo di sbagliato qui è il codice che sto usando. Tirare fuori i marcatori dal file .xml ha trovato anche questi 2 siti Web, tuttavia anche con questo aiuto non posso Scopri cosa sto facendo di sbagliato

http://groups.google.com/group/google-maps-api/browse_thread/thread/a9cd6ed3ed3e8eabe6/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>
È stato utile?

Soluzione

A causa di Google Maps V2 è deprecato, dovresti riscrivere il tuo codice su V3! Qui trovi alcuni esempi su come integrare MarkerClusterer:Fai clic qui per riferimento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top