it-swarm.com.ru

Google Map API V3: как добавить пользовательские данные в маркеры

Есть ли способ добавить некоторую пользовательскую информацию в мои маркеры для последующего использования. Есть способы иметь информационное окно и заголовок, но что, если я хочу связать маркер с другой информацией.

У меня есть другие материалы, отображаемые на странице, которые зависят от маркеров, поэтому при щелчке маркера содержимое страницы должно меняться в зависимости от того, по какому маркеру щелкнули. Я хочу сохранить и извлечь пользовательские данные, как только маркер скажет щелкнул и т. д.

Спасибо

106
Abid

Поскольку маркер Google является объектом JavaScript, вы можете добавить пользовательскую информацию в виде key: value, где ключ - допустимая строка. Они называются свойства объекта и могут быть доступны по-разному. Значением может быть все допустимое, такое как числа или строки, а также функции или даже другие объекты. Три простых способа: в декларации, точечной нотации и квадратных скобках

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

Затем получить его аналогичным образом:

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

Вы можете добавить свои собственные свойства к маркерам (только будьте осторожны, чтобы не вступить в конфликт со свойствами API).

14
geocodezip