Пользовательские кнопки GMapTypeControl (Google Maps V2 API) - PullRequest
2 голосов
/ 25 декабря 2010

A аналогичный вопрос уже задавался, но не имеет удовлетворительного ответа.

Я хочу изменить стиль CSS для кнопок выбора типа карты (которые на самом деле являются DIV, которые ненет класса CSS).Ссылки в указанном вопросе показывают, как элементы управления подкласса , но примеры, похоже, не работают для GMapTypeControl.Попробовал следующее

function CustomGMapTypeControl() {}
CustomGMapTypeControl.prototype = new GMapTypeControl()
CustomGMapTypeControl.prototype.setButtonStyle_ = function(button) {
    button.style.backgroundColor = "red";
}

, но функция setButtonStyle_ даже не вызывается.

Какие-нибудь решения для этого?

1 Ответ

0 голосов
/ 14 января 2011

Из приведенного выше кода я могу сказать, что вы не до конца понимаете, как создать собственный элемент управления картой. Есть 2 шага:

  1. Подклассы GControl
  2. предоставить initialize() и getDefaultPosition() метод.

Что ж, метод initialize - это место, где вы создаете и стилизуете элементы управления dom, и этот метод должен возвращать этот элемент dom обратно. Метод getDefaultPosition() указывает, где этот элемент управления должен быть расположен (справа вверху, ...), и он должен возвращать объект типа GControlPosition.

Вы должны предоставить достаточно информации, чтобы при вызове map.addControl(new CustomGMapTypeControl()), чтобы объект карты мог вызывать и делать правильные вещи.

ПРИМЕЧАНИЕ. Все элементы управления картой должны быть добавлены в контейнер карты, доступ к которому можно получить с помощью метода getContainer() GMap2.

Вы можете поиграть с http://code.google.com/apis/maps/documentation/javascript/v2/examples/control-custom.html, если хотите создать свой собственный элемент управления с помощью firebug.

...