◆ 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
関連記事一覧
スポンサードリンク



Leave a Comment