Ich verwende die Google Maps JavaScript API V3 und in den offiziellen Beispielen ist immer dieses Meta-Tag enthalten:
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
Die meisten Beispiele von Drittanbietern, die ich gesehen habe, tun dies auch. Ich habe jedoch ein Plugin geschrieben, das es verwendet, und einer meiner Benutzer sagte mir, dass es ihn daran hindere, sein Mobilgerät zu vergrößern und zu verkleinern . Ich habe kein mobiles Gerät zum Testen und keine meiner Suchanfragen ergab hilfreiche Informationen.
Also, was ist der Sinn des Tags? Soll ich es drin lassen? Sollte ich versuchen, den Browser-Agenten zu erkennen und nur für Desktop-Browser anzuzeigen?
Wenn Sie das Plugin untersuchen möchten, können Sie es herunterladen , die Quelle durchsuchen oder ein Live-Beispiel anzeigen .
mobile
google-maps-api-3
viewport
meta-tags
Ian Dunn
quelle
quelle
Antworten:
Auf vielen Geräten (z. B. dem iPhone) wird verhindert, dass der Benutzer den Zoom des Browsers verwendet. Wenn Sie eine Karte haben und der Browser das Zoomen durchführt, sieht der Benutzer ein großes altes Pixelbild mit riesigen Pixelbeschriftungen. Die Idee ist, dass der Nutzer das von Google Maps bereitgestellte Zoomen verwenden sollte. Ich bin mir nicht sicher, ob ich mit Ihrem Plugin interagiere, aber dafür ist es da.
In jüngerer Zeit hat Chrome für Android (und vielleicht auch andere), wie @ehfeng in seiner Antwort feststellt, die Tatsache ausgenutzt, dass kein nativer Browser auf Seiten mit einem solchen Ansichtsfenster-Tag zoomt. Auf diese Weise können sie die gefürchtete Verzögerung von 300 ms bei Berührungsereignissen beseitigen, die der Browser benötigt, um abzuwarten, ob Ihre einzelne Berührung eine doppelte Berührung ist. (Denken Sie an "Einzelklick" und "Doppelklick".) Als diese Frage ursprünglich gestellt wurde (im Jahr 2011), traf dies jedoch in keinem mobilen Browser zu. Es ist nur eine Attraktivität hinzugefügt, die in jüngerer Zeit zufällig entstanden ist.
quelle
Durch Deaktivieren der vom Benutzer skalierbaren Funktion (dh zweimaliges Tippen zum Zoomen) kann der Browser die Klickverzögerung verringern. Wenn der Benutzer in Touch-Enable-Browsern erwartet, dass das doppelte Tippen gezoomt wird, wartet der Browser im Allgemeinen 300 ms, bevor er das Klickereignis auslöst, und wartet, ob der Benutzer doppelt tippen wird. Durch Deaktivieren der Benutzerskalierbarkeit kann der Chrome-Browser das Klickereignis sofort auslösen, um eine bessere Benutzererfahrung zu erzielen.
Aus der Google IO 2013-Sitzung https://www.youtube.com/watch?feature=player_embedded&v=DujfpXOKUp8#t=1435s
Update: Es ist nicht mehr wahr,
<meta name="viewport" content="width=device-width">
reicht aus, um die Verzögerung von 300 ms zu beseitigenquelle
Aus der v3-Dokumentation (Entwicklerhandbuch> Konzepte> Entwickeln für mobile Geräte):
quelle
Sie sollten das Ansichtsfenster-Meta-Tag überhaupt nicht verwenden, wenn Ihr Design nicht reagiert. Der Missbrauch dieses Tags kann zu fehlerhaften Layouts führen. In diesem Artikel erfahren Sie, warum Sie dieses Tag nicht verwenden sollten, es sei denn, Sie wissen, was Sie tun. http://blog.javierusobiaga.com/stop-using-the-viewport-tag-until-you-know-ho
"user-scalable = no" verhindert auch den Zoom-In-Effekt auf iOS-Eingabefelder.
quelle