function get_map_zoom_level(distance) {
var zoom = 1;
if (distance == 0)
zoom = 11;
else if (distance == 1)
zoom = 15;
else if (distance > 880 && distance <= 1760)
zoom = 14;
else if (distance > 1760 && distance <= 3520)
zoom = 13;
else if (distance > 3520 && distance <= 7040)
zoom = 12;
else if (distance > 7040 && distance <= 14080)
zoom = 11;
else if (distance > 14080 && distance <= 28160)
zoom = 10;
else if (distance > 28160 && distance <= 56320)
zoom = 9;
else if (distance > 56320 && distance <= 112640)
zoom = 8;
else if (distance > 112640 && distance <= 225280)
zoom = 7;
else if (distance > 225280 && distance <= 450560)
zoom = 6;
else if (distance > 450560 && distance <= 889120)
zoom = 5;
else if (distance > 889120 && distance <= 1718240)
zoom = 4;
else if (distance > 1718240)
zoom = 3;
return zoom;
}
このコードでは他に多くのことを避ける方法があるかどうかを知りたいと思います。 基本的には、距離に基づいてズームレベルを調べたいので、このコードは完全に機能していますが、これを行うにはもっと良い方法が必要です。コード内に他のコードがある場合は避けてください。
間隔条件付きのスイッチ? マップのズームと距離の間には論理があるので、ズーム値を見つけるために数式を検索する必要があります。 – AxelH
@KartikeyaKhosla OKあなたは 'if'文は少ないですが、オブジェクトを破る' case'ステートメントと同じ数で終わります。 – Rhumborl
@Juhana 'switch(true)'しかし、OPは範囲の配列とループを定義する方が優れていますそれを介して – PeeHaa