109 votes

Google Map API V3: Comment faire pour ajouter des données à des marqueurs

Est il possible que je peux ajouter quelques informations personnalisées à mes marqueurs pour les utiliser plus tard. Il y a des moyens d'avoir une fenêtre d'info et un titre, mais Si je veux associer le marqueur avec d'autres informations.

J'ai d'autres trucs affichés sur la page, qui dépend des marqueurs de sorte que, lorsqu'un marqueur est de cliquer sur le contenu de la page change en fonction du marqueur a été cliqué.Je voudrais stocker et récupérer les données personnalisées une fois un marqueur permet de dire cliqué etc.

Merci

204voto

Tina CG Hoehr Points 2596

Comme un Marqueur Google est un objet JavaScript, vous pouvez ajouter des informations personnalisées sous la forme key: value, où la clé est une chaîne valide. Ils sont appelés les propriétés de l'objet et peut être abordé de plusieurs façons différentes. La valeur peut être n'importe quoi, juridique, aussi simple que de nombres ou de chaînes de caractères et des fonctions, ou même d'autres objets. Trois façons simples: dans la déclaration, la notation point et crochets voir une démo

var markerA = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(0, 0),
    customInfo: "Marker A"
});

var markerB = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(-10, 0)
});
markerB.customInfo = "Marker B";

var markerC = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(-20, 0)
});
markerC['customInfo'] = "Marker C";

Puis de le récupérer d'une manière analogue:

google.maps.event.addListener(markerA, 'click', function() {
    alert(this.customInfo);
});

14voto

geocodezip Points 41746

Vous pouvez ajouter vos propres propriétés personnalisées pour les marqueurs (faut juste faire attention à ne pas entrer en conflit avec l'API de propriétés).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X