V3 google.maps.Polygonをフェードアウトする方法はありますか?V3 google.maps.Polygonをフェードアウトする方法はありますか?
標準のGoogleマップV3ポリゴンを非表示にする代わりに、フェードアウトしたいと思います。
これは可能ですか?そこにはプラグインはありますか?
V3 google.maps.Polygonをフェードアウトする方法はありますか?V3 google.maps.Polygonをフェードアウトする方法はありますか?
標準のGoogleマップV3ポリゴンを非表示にする代わりに、フェードアウトしたいと思います。
これは可能ですか?そこにはプラグインはありますか?
次は私が脳卒中のうち、均一なフェードに対処し、埋めるために作成したソリューションであり、私はそれ機能させることにより、容易に再利用可能な作られました。
秒は、完了すると別の操作を実行できるように、フェードアウトが発生してコールバックするのにかかる時間です。
私のプロジェクトで私のコールバック関数は、マップからポリゴンを削除し、変数を削除します。
function polygon_fadeout(polygon, seconds, callback){
var
fill = (polygon.fillOpacity*50)/(seconds*999),
stroke = (polygon.strokeOpacity*50)/(seconds*999),
fadeout = setInterval(function(){
if(polygon.strokeOpacity + polygon.fillOpacity <= 0.0){
clearInterval(fadeout);
polygon.setVisible(false);
if(typeof(callback) == 'function')
callback();
return;
}
polygon.setOptions({
'fillOpacity': Math.max(0, polygon.fillOpacity-fill),
'strokeOpacity': Math.max(0, polygon.strokeOpacity-stroke)
});
}, 50);
}
ポリゴンの不透明度を徐々に変更するには、Javascript setInterval()/clearInterval()を使用します。このような何か:
var opacity = [1, 0.8]
var polygon = new google.maps.Polygon({
strokeColor: "#000099",
strokeOpacity: opacity[0],
strokeWeight: 2,
fillColor: "#0000FF",
fillOpacity: opacity[1],
paths: [ /* your points here */ ]
});
var interval = setInterval(function() {
if (opacity[0] <= 0.0 && opacity[1] <= 0.0) {
clearInterval(interval);
polygon.setVisible(false);
} else {
opacity[0] = Math.max(0.0, opacity[0] - 0.1);
opacity[1] = Math.max(0.0, opacity[1] - 0.1);
polygon.setOptions({strokeOpacity: opacity[0], fillOpacity: opacity[1]});
}
}, 50);
この解決策は、ストロークと塗りの均等なフェードアウトに対応していません。私の詰め込みは脳卒中の前にずっと消えてしまいます。私はそれが私の最初の解決策に非常に近いので投票しました。 – iambriansreed