あなたはそれを行うために、カスタムOverlayView作成することができます。1回だけ1 setMap
でそれらを表示または非表示にすることができ、LayerOverlay
にあなたのオーバーレイを追加すると
var LayerOverlay = function() {
this.overlays = [];
}
LayerOverlay.prototype = new google.maps.OverlayView();
LayerOverlay.prototype.addOverlay = function (overlay) {
this.overlays.push(overlay);
};
LayerOverlay.prototype.updateOverlays = function() {
for (var i = 0; i < this.overlays.length; i++) {
this.overlays[i].setMap(this.getMap());
}
};
LayerOverlay.prototype.draw = function() {};
LayerOverlay.prototype.onAdd = LayerOverlay.prototype.updateOverlays;
LayerOverlay.prototype.onRemove = LayerOverlay.prototype.updateOverlays;
を:
var layer1 = new LayerOverlay();
layer1.addOverlay(createMarker());
layer1.addOverlay(createMarker());
layer1.addOverlay(createMarker());
// hide all markers
layer1.setMap(null);
// show all markers
layer1.setMap(map);
非常に興味深いです。.. Googleマップで通り/地形/衛星のオン/オフを切り替える方法はありますか? –
内部のGoogleマップのコードは難読化されています。 –
ありがとうございます。 APIリファレンスの他に 'OverlayView'に関する他のドキュメントはありますか?他の例と何か?私はそれが私が考えていないことを使用することができる他の方法がある場合、私は興味があります。 –