API пытается панорамировать карту так, чтобы информационное окно было полностью видимым, но, похоже, оно делает необоснованные предположения о таких вещах, как infoWindowAnchor. Тем не менее, я никогда не видел, чтобы это работало так плохо. Я подозреваю, что у вас может быть неправильное значение iconAnchor, но я не могу сказать, глядя на изображение.
Вы можете попробовать использовать другие настройки для infoWindowAnchor, даже если они не соответствуют вашему значку, и посмотреть, как это меняет ситуацию. (Если это сработает, вам также нужно будет постоянно проверять, будет ли это в будущих выпусках API. Возможно, Google исправит основную проблему, которая может привести к сбою такого рабочего места.)
Если это не сработает, то вы можете попытаться выяснить, где центр графического окна находится относительно маркера, и центрировать карту там самостоятельно. Это включает в себя преобразование местоположения маркера в пиксельную позицию, добавление половины размера вашего самого большого графического окна информационного окна и обратное преобразование из позиции пикселя в GLatLng. Используйте map.fromLatLngToDivPixel () и map.fromDivPixelToLatLng (). Используйте {suppressMapPan: true} в вызове openInfoWindowHtml (), чтобы сообщить API-интерфейсу не изменять заданную вами позицию.
Ссылка на вашу актуальную страницу позволит предложить код.