2016-10-20 3 views
-1

Ich verwende Google Maps JavaScript API (v3), um zwei Karten auf meiner Website anzuzeigen. Beim Betrachten der this pageauf Handy (Asus Zenfone 2 mit Chrome), sehe ich eine leere Seite, die durch eine unerwünschte riesige horizontale Scroll verursacht wird - und es ist der Fehler der Karte. Wenn ich die Karte aus dem Code entferne, gibt es keinen horizontalen Bildlauf. Wenn ich overflow: hidden auf den Container der Karte oder sogar die <body> verwende - die Schriftrolle ist immer noch da. Selbst wenn ich auf dem Container der Karte verwende, habe ich immer noch diese lästige Scroll.Google Maps verursacht horizontale Scroll auf Handy

Irgendwelche Vorschläge, wie ich diese Karte in der mobilen Ansicht behalten und diese Schriftrolle loswerden?

+0

Müssen Sie 'position: absolute' auf den Kartencontainern verwenden? Versuche ohne. – sideroxylon

+0

Das war es nicht, und ich musste es verwenden, weil die Karten übereinander liegen und ich sie beide zum Laden von Dokumenten brauche. – yuvalsab

Antwort

0

Stellt sich heraus, die Karte generiert span am Ende der <body>. Die Lösung war einfach:

body > span { 
    display: none; 
} 
0

Legen Sie die Karte innerhalb eines div, die sich in Reaktion darauf Größen, rufen Sie dann google.maps.event.trigger(map, 'resize')

Sie dies, indem eine meiner dafür sorgen, dass die div gebaut wird, bevor die Karte wiedergegeben wird, zum Beispiel geschieht auch verhindern können " Zeigen Sie die Schaltfläche "Karte" oder einen Ereignis-Listener an, nachdem der Benutzer einen bestimmten Punkt überschritten hat.

+0

Das hat nicht den Trick gemacht. Der Map Wrapper reagiert bereits, und ich habe auch versucht, die Wrapper-Breite nach Skript zu setzen, bevor die Map erstellt wurde, und das hat auch nicht funktioniert. Ich bekomme die richtige Breite, aber die Schriftrolle bleibt. – yuvalsab

+0

Hallo, Yuval, hast du eine Lösung gefunden? Ich habe das gleiche Problem. Danke, Chen – Chen

+0

Ich habe. Siehe meine Antwort. – yuvalsab