1. ホーム
  2. mobile

[解決済み] Google Maps APIの「meta viewport user-scalable=no」は何のためか?

2023-01-05 02:36:27

質問

Google Maps JavaScript API V3を使っていて 公式の例 には必ずこのmetaタグが含まれています。

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

私が見たサードパーティの例のほとんどもそうでした。私はそれを使ってプラグインを書きましたが、私のユーザーの一人が モバイル デバイスでズームインおよびズームアウトするのを妨げていると教えてくれました。 . 私はテストするためのモバイル デバイスを持っていませんし、検索しても役に立つ情報は見つかりませんでした。

では、このタグの意味は何なのでしょうか?このままにしておくべきでしょうか。ブラウザ エージェントを検出し、デスクトップ ブラウザのみに表示するようにしたほうがよいでしょうか。

プラグインを調べたい場合は ダウンロード , ソースを見る または 実例を見る .

どのように解決するのですか?

多くのデバイス (iPhone など) では、ユーザーがブラウザのズームを使用するのを妨げます。 地図があり、ブラウザがズームを行う場合、ユーザーは巨大なピクセルのついたラベルを持つ、巨大なピクセルのついた画像を見ることになります。 Google Mapsが提供するズームを利用するのがよいでしょう。 このプラグインとの相互作用については不明ですが、そのためにあるのです。

最近、@ehfeng が回答で指摘したように、Android 版 Chrome (そしておそらく他のものも) は、このように viewport タグが設定されたページではブラウザ固有のズームがないことを利用しています。これにより、シングルタッチがダブルタッチになるかどうかを確認するためにブラウザが行う、タッチイベントの 300 ミリ秒の遅延をなくすことができます。(シングルクリックとダブルクリックを考えてみてください)しかし、この質問が最初にされたとき(2011年)、これはどのモバイル ブラウザでも当てはまりませんでした。これは、最近になって偶然生じた、追加の素晴らしさなのです。