質問: new google.maps.mapで作ったマップをレスポンシブ化したい いつもありがとうございます。 javaで挿入したgooglemap をレスポンシブ対応するにはどうすればいいのでしょうか? width:100%; height:auto;にすると地図自体が消えてしまいます。
回答: こんにちは mapを表示する際には、表示用要素のサイズの基づいて地図のサイズを決めて表示しているはずです。 それなので、表示の際にサイズが無い(高さ0など)と、見かけ上は、地図は表示されなくなります。 mapが表示された後であれば内容があるので、autoでもサイズを確保できる可能性はありますが(マップ内のレイアウトの方法によりますけれど)、表示される前は何もないので、autoなどの指定にすると(特に高さは)0と評価されてしまいます。 ニワトリと卵みたいな関係ですね。 とは言うものの、質問者様には何らかのレイアウトに関してのイメージがおありでしょうから、そのサイズになるように表示要素を前もって指定できるようにしておけば宜しいのではないでしょうか。 例えば、簡単なのは%やvwで指定しておくとか。 %指定等だけですと、画面のプロポーションによっては困ったサイズになってしまうこともあり得るので、max-width、min-widthなども併用しておくといった方法が考えられます。 あるいは、地図の表示にjavascriptを利用しているので、表示の前に地図のサイズもスクリプトで指定するような考え方もあるでしょう。 画面サイズなどから地図のサイズを決めることも可能ですし、地図の縦横比を固定したいとかであれば、width:80%などと指定しておいて、スクリプトからはそのwidthの値を取得して、比率に基づいて高さを設定するとかいったことも可能です。 他にも方法はいろいろあると思いますが、レスポンシブで画像のサイズやレイアウトを制御する際の方法が参考になるのではないかと思います。 http://www.bing.com/search?q=%e3%83%ac%e3%82%b9%e3%83%9d%e3%83%b3%e3%82%b7%e3%83%96+%e7%94%bb%e5%83%8f%e3%82%b5%e3%82%a4%e3%82%ba&qs=n&form=qbre&pq=%e3%83%ac%e3%82%b9%e3%83%9d%e3%83%b3%e3%82%b7%e3%83%96+%e7%94%bb%e5%83%8f%e3%82%b5%e3%82%a4%e3%82%ba≻=2-12&sp=-1&sk=&cvid=860216cb8eb84ec6a8c8de7a75f30526