Информационное окно карт Google: как я могу получить его смещение / разрешение? - PullRequest
2 голосов
/ 04 марта 2012

У меня есть карта Google v3 с элементом пользовательского интерфейса, который нависает над верхней частью, вот так…

Panel overhangs top of map by about 30px

И у меня есть информационное окно, прикрепленное к нескольким маркерам. У меня проблема в том, что когда открывается информационное окно и автоматически панорамируются на карте (поведение, которое я хочу), оно, очевидно, не учитывает свисание элемента…

infowindow partially obscured, user has to manually pan to get at close box

… так что пользователь должен вручную перемещаться, чтобы увидеть всю информацию, или получить доступ к окну закрытия.

Я посмотрел, есть ли способ получить offsetTop информационного окна из его родительской карты, так что я могу добавить дополнительное смещение panTo, когда это необходимо, но я в замешательстве.

Попытки, такие как ...

google.maps.event.addListener(marker, 'click', function() {
  infowindow.setContent(this.html);
  infowindow.open(map, marker);

  var infoTop = infowindow.offsetTop;
  console.log(infoTop);
});

… просто дайте мне не определено .

Было бы замечательно иметь возможность установить свойство просвет для информационного окна, как это возможно с помощью свойства infoBoxClearance утилиты InfoBox . Но я не хочу использовать InfoBox, потому что есть стилистические аспекты стандартного информационного окна, которое я предпочитаю.

И я бы предпочел не использовать панорамирование карты больше, чем необходимо, используя disableAutoPan и вычисляя оптимальное панорамирование для каждого маркера.

Есть предложения?

1 Ответ

3 голосов
/ 04 марта 2012

Я не пробовал это в версии 3, но в версии 2 стандартное решение заключается в создании пользовательского элемента управления на карте.[V2] infoWindow избегает всех элементов управления, включая пользовательские элементы управления.Ваш пользовательский элемент управления может быть просто пустым пространством, скрытым вашим внешним интерфейсом.

http://code.google.com/apis/maps/documentation/javascript/controls.html#CustomControls

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...