gmap3: центрировать InfoWindow, чтобы он соответствовал границам карты?

У меня огромная проблема, ищу уже неделю. У меня есть много маркеров и большие информационные окна для каждого маркера, которые большую часть времени не отображаются полностью в границах моей карты. Как автоматически перемещать карту и показывать эти большие InfoWindow точно по центру? Далее я думаю показать его не только в центре (потому что InfoWindows больше в длину, чем в ширину), а, скажем, в более низком положении центра (по центру, но ближе к низу на границах карты). Надеюсь, вы понимаете, что я имею в виду.

Кроме того, мое InfowWindow даже изменилось в размере после того, как я щелкнул ссылку в нем, и стало еще больше (о мой бог ;-), так что мне тоже приходится с этим справляться.


person user3389422    schedule 13.03.2014    source источник


Ответы (1)


Вы, наверное, знаете, что у InfoWindow есть параметр disableAutoPan, но по умолчанию он равен false, поэтому вы должны автоматически видеть его при каждом открытии. Если вы хотите, чтобы он был в центре, то лучше всего сделать это в событии щелчка перед открытием InfoWindow, чтобы сначала центрировать карту на маркере. Автопанорамирование при открытии должно выполняться автоматически и при необходимости корректировать окно просмотра, чтобы оно соответствовало InfoWindow.

//marker and map defined somewhere already  
var iw = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', function(){
    map.setCenter(marker.getPosition());
    iw.setContent('your content');
    iw.open(map,marker);
});
person Sunny Patel    schedule 13.03.2014
comment
Можете ли вы предоставить более подробную информацию или, возможно, задать новый вопрос о переполнении стека? - person Sunny Patel; 11.01.2018
comment
stackoverflow.com/questions/48186190/ @Sunny Patel - person Ranjith M; 11.01.2018