У меня есть карта с большим количеством контактов. Прямо сейчас, когда пользователь нажимает на контакт, окно просмотра автоматически перемещается в центр на штыре.
Я хочу, чтобы пользователь увидел список мест, которые были закреплены. Когда они нажимают на местоположение в списке, карта автоматически центрируется на булавке и открывает InfoWindow. Поэтому я в основном хочу иметь ту же функциональность, что и пользователь, нажимая на булавку, но без физического щелчка по ней. Я хочу сделать это через вызов функции.
У каждого булавки, очевидно, есть уникальный идентификационный номер, который я установил.
Так может быть что-то вроде:
$("#locationOnList-17").on("click", function(pinID) {
// What could go in here to mimic a physical pin click and have it center and open the InfoWindow? I don't think I would even need to invoke the map.setCenter(location) function.
};
РЕДАКТИРОВАТЬ:
Ohhhhh... Я думаю, что нашел что-то: Пример карты
function myclick(i) {
google.maps.event.trigger(gmarkers[i], "click");
}
Таким образом, вы назначаете идентификационный номер контакту, а затем вы выполняете функцию выше и передаете идентификационный номер и пользователь, чтобы функция google.maps.event.trigger имитировала щелчок. Этого я не хватало.
addMarker = new google.maps.Marker({
position: new google.maps.LatLng(PoiLat, PoiLon),
html: 'any Information',
map: map
});
infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(addMarker, 'click', function(event) {
infowindow.setContent("<div class=infoWndw style=height:160px;width:360px>" + this.html + "</div>");
infowindow.open(map, this);
}
});