自定义GMapTypeControl按钮(Google Maps V2 API)

时间:2010-12-25 19:49:42

标签: google-maps google-maps-api-2

已经问过similar question,但没有令人满意的答案。

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

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

setButtonStyle_函数甚至没有被调用。

任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

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

  1. 继承GControl
  2. 提供initialize()getDefaultPosition()方法。
  3. 嗯,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