Вам, вероятно, следует переместить нарушающий код в domready
событие infowindow
, чтобы вы были уверены, что его содержимое доступно.
, поэтому измените
self.openModal()
строка до
google.maps.event.addListener(infowindow, 'domready', function() {
self.openModal()
});