2011-05-05 7 views
0

J'ai quelques jquery (ci-dessous) avec crée plusieurs cartes sur la charge de la fenêtre. Cependant, il y a un comportement étrange avec les cartes, mais pas d'erreurs. Le problème est que lorsque les cartes sont chargées, elles ont toutes le même emplacement sur la carte, même si plusieurs lng et lats différents sont définis.Plusieurs cartes ne fonctionnent pas pour les cartes Google

Voici le code qui crée la carte et quelques exemples de html de l'une des boîtes de cartes. La chose étrange est que les cartes ont les mêmes emplacements, mais il n'y a pas d'erreurs. Quelqu'un a-t-il déjà vécu cela ou sait-il pourquoi cela se produit?

Cheers.

Js: (en supposant que cela est appelé onloand et quelques tableaux globaux vides sont définis.)

var maps_boxes = { 
    initialise: function() { 
     $('.a_map').each(function(index) { 
      var map_box = $(this); 
      var map_id = map_box.find('.the_map').attr('id'); 
      var lat = map_box.find('.lat').val(); 
      var lng = map_box.find('.lat').val(); 

      lat_lngs[index] = new google.maps.LatLng(lat,lng);   

      options[index] = { 
       zoom: 4, 
       center: lat_lngs[index], 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 

      maps[index] = new google.maps.Map(document.getElementById(map_id), options[index]); 

     }); 
    } 
}; 

html Exemple d'une carte:

<div class="a_map"> 
    <form class="map_data" > 
    lng:<input class="lng" type="text" value="0" /><br /> 
    lat:<input class="lat" type="text" value="10" /> 
    </form> 
    <div id="map_xxxxx" class="the_map" ></div> 
</div> 

Répondre

1

Si vous utilisez le même code affiché , vous obtenez la même valeur pour la latitude et la longitude:

var lat = map_box.find('.lat').val(); 
    var lng = map_box.find('.lat').val(); 

J'ai essayé d'initialiser 2 di cartes fferent sur la même page, il fonctionne bien.

+0

Omg merci, je suis un tel derp. – Smickie

+0

nous avons tous été fait cela :) content que je puisse aider. – solidrevolution

Questions connexes