◆ 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