web-dev-qa-db-fra.com

Google Map API V3: comment ajouter des données personnalisées aux marqueurs

Est-il possible d'ajouter des informations personnalisées à mes marqueurs pour une utilisation ultérieure? Il y a moyen d'avoir une fenêtre d'information et un titre, mais que faire si je veux associer le marqueur à d'autres informations.

J'ai d'autres éléments affichés sur la page qui dépendent des marqueurs. Ainsi, lorsqu'un marqueur est cliqué, le contenu de la page doit changer en fonction du marqueur sur lequel l'utilisateur a cliqué. J'aimerais stocker et récupérer les données personnalisées une fois qu'un marqueur est laissé. cliqué etc.

Merci

107
Abid

Google Marker étant un objet JavaScript, vous pouvez ajouter des informations personnalisées sous la forme key: value, où clé est une chaîne valide. Ils s'appellent propriétés de l'objet et peuvent être abordés de différentes façons. La valeur peut être légale, aussi simple que des nombres ou des chaînes, mais également des fonctions ou même d'autres objets. Trois façons simples: dans la déclaration, la notation par points et les crochets

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";

Ensuite, pour le récupérer de la même manière:

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

Vous pouvez ajouter vos propres propriétés personnalisées aux marqueurs (veillez à ne pas entrer en conflit avec les propriétés de l'API).

14
geocodezip