Из приведенного выше кода я могу сказать, что вы не до конца понимаете, как создать собственный элемент управления картой. Есть 2 шага:
- Подклассы
GControl
- предоставить
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.