2010-07-19 3 views
2

Ainsi, comme le titre le suggère, j'essaie d'obtenir les marqueurs sur mon Google Maps pour activer et afficher des informations lorsque je clique dessus.Intégration API Google Maps - Fonction de clic pour les marqueurs de carte, provoquant des maux de tête

Le problème est que quelque part le long de la façon dont mes marqueurs ont disparu (ou au moins ne sont pas tracés) et que je reçois des avertissements étranges sur le code provenant de Google quand j'examinerai pour des points d'arrêt en utilisant Firebug ...

assez simple, j'ai suivi cet article: http://www.googlemapsbook.com/2007/03/06/clickable-labeledmarker/

et sont même allés jusqu'à imiter presque complètement l'exemple de code fourni dans un effort pour obtenir ce travail ... Tout cela en vain.

Malheureusement, je n'ai pas de version en direct que je peux vous montrer car je suis en train de faire cette partie du test hors ligne. Mais j'espère que le Pastebin suivant sera suffisant pour quelqu'un ayant de l'expérience avec l'API GMaps pour choisir la ou les faille (s) dans ma logique.

http://pastebin.com/wDY3DLtA

Laissez-moi savoir si vous avez besoin de plus d'informations.

Toute aide à ce sujet sera grandement appréciée,

JoshG

+0

Votre exemple pastebin ne semble pas fonctionner pour moi. Je ne vois rien. –

Répondre

0

Voici un exemple qui ajoute des écouteurs aux marqueurs, et pops des informations quand on clique dessus. C'était ma réponse à une autre question: How could i show info window for ten markers in google maps?, mais je pense que cela devrait vous aider.

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>boats</title> 
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' type='text/javascript'></script> 
<script type="text/javascript"> 
</script> 
</head> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
var infowindow = null; 
var map = null; 
function initialize() { 
    var washington = new google.maps.LatLng(47.7435, -122.1750); 
    var myOptions = { 
     zoom: 7, 
     center: washington, 
     mapTypeId: google.maps.MapTypeId.TERRAIN 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    google.maps.event.addListener(map, 'click', function() { 
    infowindow.close(); 
    }); 
    infowindow = new google.maps.InfoWindow({ content: "loading..." }); 
    boats(map, seller); 
} 

var seller = [ 
['joe boat', 48.0350,-122.2570, 4, 'This is in good shape.'], 
['bobs boat', 48.7435, -122.1750, 2, 'This is in bad shape.'], 
['bubas boat', 47.3435, -122.1750, 1, 'This is in ok shape'], 
['daveys boat', 47.7435, -122.1750, 3, 'dont buy this one.'] 
]; 

function boats(map, markers) { 

    for (var i = 0; i < markers.length; i++) { 
     var seller = markers[i]; 
     content_string = '<div style="width: 210px; padding-right: 10px" lang="ko" xml:lang="ko">(&#44396;&#44208;/&#21475;&#35363;)' + seller[0] + '<br>' + seller[1] + '<br>' + seller[4] + '</div>'; 
     var sellerLatLng = new google.maps.LatLng(seller[1], seller[2]); 
     var marker = new google.maps.Marker({ 
      position: sellerLatLng, 
      map: map, 
      title: seller[0], 
      zIndex: seller[3], 
      html: content_string 
     }); 
     var contentString = "content"; 
     google.maps.event.addListener(marker, "click", function() { 

      infowindow.setContent(this.html); 
      infowindow.open(map, this); 
     }); 
    } 

} 
</script> 
<body onLoad="initialize()"> 
<div id="map_canvas" style="width: 450px; height: 350px;">map div</div> 
<div lang="it" xml:lang="it">Ciao bella!</div> 
<div lang='ko' xml:lang='ko'>??/??</div> 
</body> 
</html> 
Questions connexes