Автопанорамирование карты, чтобы информационное окно было полностью видимым

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

я Половина содержимого не отображается в окне просмотра

1 ответ

Я нашел решение в StackOverFlow. Кстати, спасибо команде Stackru.

google.maps.Map.prototype.panToWithOffset = function(latlng, offsetX, offsetY) {
    var map = this;
    var ov = new google.maps.OverlayView();
    ov.onAdd = function() {
        var proj = this.getProjection();
        var aPoint = proj.fromLatLngToContainerPixel(latlng);
        aPoint.x = aPoint.x+offsetX;
        aPoint.y = aPoint.y+offsetY;
        map.panTo(proj.fromContainerPixelToLatLng(aPoint));
    }; 
    ov.draw = function() {}; 
    ov.setMap(this); 
};

и вызывал эту функцию при нажатии на маркер.

Другие вопросы по тегам