1

我正在使用 Google Fusion Table API 和 Google Maps API。多亏了 Google Maps API,我有了我的地图,然后我使用 Google Fusion Table API 创建了一个图层,效果很好。

当我创建图层时,我定义标记应该是“small_red”(小红点),thants 也很好用。

var layer = new google.maps.FusionTablesLayer({query: {select: 'coordenadas', from: '1-zmpFV_oI7OBiq3iEyHyze7QBiBDZzdrxby_TYM', where: 'hide!=0'},map: map, suppressInfoWindows: true, styles: [{ markerOptions: {iconName: "small_red" }}]});

现在,正如您在下面看到的,我想在用户放大时将图标更改为“large_red”(谷歌地图的正常图标),并在用户放大时更改回“small_red”(同样是红点)。

google.maps.event.addListener(map, 'zoom_changed', function() {
    if(map.getZoom()>14){
        //Change icon to large_red
    } else {
        //Back to small_red
    }
});

最后一个代码识别放大或缩小事件,然后我有一个 if 子句来验证缩放是向上还是向下,然后,问题是,我不知道如何从图层上的标记更改图标地图。

提前感谢您的帮助。

4

1 回答 1

3

我找到了解决方案,很简单:

google.maps.event.addListener(map, 'zoom_changed', function() {
    if(map.getZoom()>14){
        layer.setOptions({styles: [{markerOptions:{ iconName:"large_red"}},]});
    } else {
        layer.setOptions({styles: [{markerOptions:{ iconName:"small_red"}},]});
    }
});
于 2013-01-24T21:50:44.433 回答