Расширяете маркер наложения на Картах Google? - PullRequest
4 голосов
/ 20 июля 2010

Я могу просто наложить элементы наложения на карты Google, изображение выглядит так:

______
|    |
______
  \/

Где часть "/" - это "булавка", обозначающая широту / долготу на карте и изображение в середине. У меня вопрос, есть ли способ расширить это, когда пользователь нажимает на него? Мне, конечно, придется изменить это на какое-то диалоговое окно или макет и изменить его при нажатии.

Я хочу, чтобы он был меньше, чем просто с изображением, когда на него не нажимали, но когда оно щелкало, оно расширялось за секунду до:

--------------------------------------
| <image>                  <buttons> |
|                          <buttons> |
| <some info here>                   |
|                                    |
--------------------------------------
                 \/

Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 07 октября 2010

Используйте это ...

0 голосов
/ 21 июля 2010

Создайте пользовательское наложение, а в переопределении onAdd создайте пользовательский div с требуемым макетом содержимого.

myOverlay.prototype.onAdd = function(){
  var div = document.createElement('DIV');
  div.style.position = 'absolute';  // so we can position it later.
  // populate the div
  this.div_ = div;
  this.getPanes().overlayLayer.appendChild(div);
}

Теперь в переопределении draw вы решаете, где разместить его на карте. При рисовании вы могли изначально нарисовать маркер с помощью обработчика события щелчка, который устанавливает видимость в div.

myOverlay.prototype.draw = function(){
  var div = this.div_;
  //populate div with content as required.
  div.style.left = //calculate location based on width / height and centre 
  div.style.top = // ditto
}
...