スポンサードリンク

地図のズームレベル(zoom level)を取り出す。条件分岐式 if文 if() else if() else()と条件式switch


◆ Google Maps API v3 /地図のズームレベルを変数として使用する。

以前に作成したこのマップ 地図のズームレベルをvar zoom =  map.getZoom();で取り出して、地図のズームレベルによってデータベースからマーカーを読み出す半径の変数としてつかっていた。

今回、条件式if文にかわるswitchなるものを知ったので試してみた。

前回は、

var zoom =  map.getZoom();

if (zoom >= 1 && zoom <= 9) {var view = '0';}
else if(zoom ==10){var view = '43';}
else if(zoom ==11){var view = '21.6';}
else if(zoom ==12){var view = '12.3';}
else if(zoom ==13){var view = '5.5';}
else if(zoom ==14){var view = '2.8';}
else if(zoom ==15){var view = '1.3';}
else if(zoom ==16){var view = '0.65';}
else if(zoom ==17){var view = '0.34';}
else if(zoom ==18){var view = '0.16';}
else if(zoom ==19){var view = '0.09';}
else if(zoom ==20){var view = '0.05';}
else {var view = '0';}

つまり、地図のズームレベル1から9の場合、変数viewは0(km)。else if で地図のズームレベルが15だったら、半径1.3km圏内のマーカーを読み出す条件式。

うんで、今回は、上記をswitch文に置き換えたものは次の通り。

var zoom =  map.getZoom();

switch (zoom) {
case 10 :
var view = '43';
break;
case 11 :
var view = '21';
break;
case 12 :
var view = '12';
break;
case 13 :
var view = '5.5';
break;
case 14 :
var view = '2.8';
break;
case 15 :
var view = '1.3';
break;
case 16 :
var view = '0.65';
break;
case 17 :
var view = '0.34';
break;
case 18 :
var view = '0.16';
break;
case 19 :
var view = '0.09';
break;
case 20 :
var view = '0.05';
break;
default :
var view = '0';
}

試したら、動いた。

では、if文、switch文どちらでも使えるのであれば、その使い分けは?・・・・とネットを見ていたら分岐が多い場合は、switch文の方がオススメと書いてあるサイトが多かった。

いずれにしても、Google Mapのように手動でマウスホイールをくるくるまわす程度のでは、どっちをつかっても変わらないというのが結論。

◆Google Maps JavaScript API V3

スポンサードリンク

Related Posts

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">