1. ホーム
  2. google-maps

[解決済み] google map API 拡大範囲

2022-03-11 11:08:52

質問内容

私はgoogle map API version-3を使用しています、私は異なるズーム値で試していました、私はランダムに1から始まるいくつかの数字で100まで行いました、マップは増加する数字でズームインしますが、いくつかのレベルが同じ結果を与えて、私は30と100で同じズームを取得していることを意味します。

ズームの正確な範囲を教えてください。

解決方法は?

利用可能なズームレベル

ズームレベル0は、最も拡大されたズームレベルで、ズームレベルが整数倍になるごとに、ビューのXおよびYエクステントが半分になり、線形解像度が2倍になります。

Googleマップは256x256ピクセルのタイルシステムで構築されており、ズームレベル0は地球全体の256x256ピクセルの画像であった。 ズームレベル1の256x256タイルは、ズームレベル0から128x128ピクセルの領域を拡大したもので、ズームレベル0から128x128ピクセルの領域を拡大したものです。

bkaidが正しく述べているように、使用可能なズーム範囲は、見ている場所と使用している地図の種類に依存します。

  • 道路地図 - どこでもズームレベル22まで行けるようです。
  • ハイブリッド地図と衛星地図 - 利用可能な最大ズームレベルは場所によって異なります。 以下はその例です。
  • 南極大陸の遠隔地:13
  • ゴビ砂漠:17
  • 米国と欧州の大部分:21
  • ディープズーム(Deep zoom")の場所。22-23(参照 bkaidのリンク )

なお、これらの値は Google Static Maps API は、Javascript APIよりも1つ多くズームレベルを提供するようです。 Static Mapsで利用できる追加のズームレベルは、Javascript APIの最大解像度の画像をアップサンプルしたものに過ぎないようです。

様々なズームレベルでの地図スケール

Googleマップはメルカトル図法を使っているため、緯度によって縮尺が大きく変わります。 緯度に基づいた正しい縮尺を計算する公式は以下の通りです。

meters_per_pixel = 156543.03392 * Math.cos(latLng.lat() * Math.PI / 180) / Math.pow(2, zoom)

数式は クリス・ブロードフット氏のコメント .