6

ho provato a utilizzare google maps marker manager, ma mi sembra di colpire ogni volta un muro di mattoni, seguo i tutorial su come creare markermanager su documentazione di google, ma sembra che nulla funzioni per me , è un problema nel modo in cui il mio codice è scritto? a corto di idee qui, al momento ho impostato UN indicatore per scendere sulla mappa in base alla latlng.Google Map Marker Manager V3

qualcuno può per favore provare come implementare il codice del tutorial e trovare una soluzione di lavoro per me? mi sta facendo impazzire.

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

<div id="map_canvas" style="width:500px; height:500px;"></div> 

    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 

    @*<script src="../../Scripts/markermanager.js" type="text/javascript"></script>*@ 

    <script type="text/javascript"> 

     function initialize() { 
      var latlng = new google.maps.LatLng(-34.397, 150.644); 
      var myOptions = { 
       zoom: 8, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP // map view, can be set to satellite, street, roadview, aerialview 
      }; 
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

      var marker = new google.maps.Marker({ 
       position: latlng, 
       map: map, 
       animation: google.maps.Animation.DROP, 
       title: "Uluru (Ayers Rock)" 
      }); 

      marker.setMap(map); 
     } 

     $(document).ready(function() { 
      initialize(); 
     }); 

    </script> 
+1

Hai incluso il file, ma non si sta usando la classe marcatore direttore il codice di cui sopra. Perché? –

+0

visualizza errori: GBounds non è definito [Interrompi su questo errore] GBounds.prototype.containsPoint = function (point) {all'interno del file markermanager.js – MJCoder

+0

Che gestore di marker stai utilizzando? Stai utilizzando un gestore marker creato per GMAP API v2 con GMAP API v3? –

risposta

15

Ecco un esempio per iniziare:

var map; 
 
var mgr; 
 

 
function initialize() { 
 
    var myOptions = { 
 
    zoom: 8, 
 
    center: new google.maps.LatLng(-34.397, 150.644), 
 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }; 
 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
 
    mgr = new MarkerManager(map); 
 
    google.maps.event.addListener(mgr, "loaded", function() { 
 
    for (var i = 0; i < 1000; i++) { 
 
     var marker = new google.maps.Marker({ 
 
     position: new google.maps.LatLng(Math.random() * 180 - 90, Math.random() * 360 - 180), 
 
     title: "Random marker #" + i 
 
     }); 
 
     mgr.addMarker(marker, 0); 
 
    } 
 
    mgr.refresh(); 
 
    }); 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
 
<script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markermanager/src/markermanager.js"></script> 
 

 
<div id="map_canvas" style="height: 400px;"></div> 
 
<p>Pan or zoom out to see markers</p>

Si noti che quando si crea un marcatore, che non ha specificato map: map o marker.setMap(map). Invece, i marcatori vengono aggiunti al gestore dei marker che a sua volta li aggiunge alla mappa quando chiami markermanager.refresh().

Inoltre, ho aggiunto tutti i contrassegni sul livello di zoom 0. Idealmente dovresti caricare pochi marcatori su livelli di zoom inferiori e più marcatori su livelli di zoom più alti.

+0

ottimo esempio .. proprio quello che mi serviva, quindi vedo che abbiamo usato un ciclo for che creerà fino a 1000 marker e li posizioneremo casualmente usando il file math.random(), come potrei ottenerlo quando la mappa caricherà tutto i marcatori vengono visualizzati senza ingrandire o rimpicciolire per vederli tutti? sarà come: map.fitBounds (latlngbounds); – MJCoder

+0

per l'esempio sopra, in che modo posso applicare tutti i marcatori sulla mappa senza eseguire lo zoom in/out? map.fitBounds(); è così? – MJCoder

+0

ora lavoro per me, ora guarderò JSON Risultato in MVC3 :) grazie Salman :) – MJCoder

Problemi correlati