放大/缩小时,使用谷歌地图API在谷歌融合表API中更改图标

Change icon in Google Fusion Table API using Google Maps API when zoom in/out

本文关键字:API 融合 谷歌 图标 放大 小时 缩小 谷歌地图      更新时间:2023-09-26

我正在使用Google Fusion Table API和Google Maps API。感谢Google Maps API,我有了我的maP,然后我使用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 子句来验证缩放是向上还是向下,然后,问题是,我不知道如何更改地图上图层标记的图标。

提前感谢任何帮助。

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

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"}},]});
    }
});