1

Google Fusion Table API と Google Maps API を使用しています。Google Maps API のおかげで地図を作成し、Google Fusion Table API を使用してレイヤーを作成しました。

レイヤーを作成するときに、マークが「small_red」(小さな赤い点) であることを定義します。

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」(Google マップの通常のアイコン) に変更し、ユーザーがズームインすると「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 に答える