2

已经问过类似的问题,但没有令人满意的答案。

我想更改地图类型选择按钮的 CSS 样式(实际上是没有 CSS 类的 DIV)。引用问题中的链接显示了如何对控件进行子类化,但这些示例似乎不适用于GMapTypeControl。尝试了以下

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

但该setButtonStyle_函数甚至没有被调用。

有什么解决方案吗?

4

1 回答 1

0

从上面的代码中,我可以说你还没有完全理解如何创建自定义地图控件。有2个步骤:

  1. 子类化GControl
  2. 提供initialize()getDefaultPosition()方法。

好吧,该initialize方法是您创建控件 dom 元素并为其设置样式的地方,并且该方法必须返回该 dom 元素。该getDefaultPosition()方法指示此控件应放置的位置(右上角,...),并且它必须返回一个类型为 的对象GControlPosition

您必须提供足够的信息,以便在您调用时map.addControl(new CustomGMapTypeControl())地图对象可以调用并执行正确的操作。

注意:所有地图控件都应该添加到地图容器中,可以使用 GMap2 的getContainer()方法访问。

当您想使用 firebug 创建自己的自定义控件时,可以使用http://code.google.com/apis/maps/documentation/javascript/v2/examples/control-custom.html 。

于 2011-01-14T03:45:40.770 回答