Googleマップに影響を与えるTwitter Bootstrap CSS


147

Twitterブートストラップを使用しており、Googleマップを持っています。

マーカーなどのマップ上の画像が、BootstrapのCSSによって歪められています。

ブートストラップCSSには次のものがあります。

img {
    border: 0 none;
    height: auto;
    max-width: 100%;
}

max-widthFirebug を使用してプロパティを無効にすると、マーカー画像が通常どおり表示されます。Bootstrap CSSがGoogleマップの画像に影響を与えないようにするにはどうすればよいですか?


回答:


187

Bootstrap 2.0では、これでうまくいくように見えました。

#mapCanvas img {
  max-width: none;
}

6
#mapCanvas img { width: auto; display:inline; }@nodrogによる以下の説明に従って追加してください
jlb

Bootstrap 2.0.3リリースノートから:「2.0.1以降のレスポンシブイメージサポートの修正されたリグレッション。デフォルトでmax-width:100%をイメージに追加しました。以前のリリースでは、人がいたため削除しましたGoogleマップの統合やその他のプロジェクトについて不満を述べていますが、現在、これらについては別の立場を取っているため、開発者は最終的にこれらの微調整を行う必要があります。」
kevinwmerritt 2012

参考:Bootstrap 2.0.4リリースノート:「max-width:100%を防止するために特別なCSSを追加しました。画像がGoogleマップのレンダリングを混乱させることになります。」
kevinwmerritt

彼らが最終的にidをハードコードすることに決めたのは奇妙です、代わりにクラスを使用しないでください
zerkms

1
#mapCanvasが機能しませんでした。私はgoogleマップコンテナーとして使用した.mapクラスを使用しただけで、うまくいきました。ありがとう!
Fydo 2012年

80

地形とオーバーレイのドロップダウンセレクターにも問題があり、両方を追加すると問題が解決します...

#mapCanvas img { 
  max-width: none;
}

#mapCanvas label { 
  width: auto; display:inline; 
} 

2番目のスタイルは、一部のブラウザーのテレインとオーバーレイボックスに関する他の問題の一種です。


はい !これは、上記の「受け入れられた」というフラグが付けられた回答と組み合わせて、すべて修正されたようです。ありがとう。
マット

:Firefoxの17で魔法のようにではなく、クロム23いけないのノウハウ理由で動作しますが、私は解決策は、ちょうどこの追加見つかった$('.map').on('shown',function(){ google.maps.event.trigger(map, 'resize'); });
yosafatade

あなたは天才です。どうもありがとう。これは私を正気にさせませんでした:-)
クマ

20

マップキャンバスdivにIDを指定しmap_canvasます。

このブートストラップコミットにmax-width: noneID の修正が含まれていますmap_canvas(ただし、では機能しませんmapCanvas)。


IDを変更することだけがv2.2.2で必要であると思います
jacktrades

CSSファイルでそのようなIDを見つけることができない
Muhaimin

@robd:好奇心旺盛な方のために、なぜmap_canvas以外では機能しないのか。
ArunRaj 14

@ArunRajは、ブートストラップの修正が#map_canvas IDにハードコードされているためです(リンクされたコミットを参照)。いずれにせよ、この回答は2年近く経過しているため、おそらく古くなっています。
robd 2014

11

これらの答えはどれもうまくいかなかったので、私は自分のdivに行ってその子を見て、「gm-style」クラスの新しいdivを見つけたので、これをCSSに入れました。

.gm-style img {
    max-width: none;
  }

  .gm-style label {
    width: auto; display:inline;
  }

..それで問題が解決しました。


+1これは、奇妙な「ズーム」コントロールを修正するために私が働いた唯一の答えです。(ブートストラップ2)
philfreo 2013年

私も働いた。良いスポッティング:)
jeje

ありがとう、私のためにも働いた。奇妙な「ズーム」コントロールを修正するために私に役立つ唯一の答え。(財団5を使用)
Steffi

3

CSSセクションのmax-widthルールを上書きするには、max-width:none;を使用します。これはこの問題を回避する方法のようです


2

#MapCanvasの変更はgmap4rails gemを使用して機能しませんでしたが、

.map_container img {
    max-width: none;
}

.map_container label {
    width: auto; display:inline;
}

2

私はgmaps4railsを使用していますが、この修正でうまくいきました。

.gmaps4rails_map img {
    max-width: none;
}
.gmaps4rails_map label {
    width: auto; display:inline;
}

1

最新のTwitterブートストラップ2.0.4には、この修正が直接含まれています。

Twitterブートストラップのデモページのように、コンテンツをa(div class = "container")でラップする場合は、style = "height:100%"を追加する必要があります


1

また、任意のブラウザで印刷を使用して地図を印刷することにも問題があります。これimg { max-width: 100% !important; }は上のコードでは修正されません。次の!importantように宣言を追加する必要があります。

@media print {
  img {
    max-width: auto !important;
  }
}

0

また、ボックスシャドウをオフにする必要があり、インクルードの順序が原因で、!importantフラグを追加しました。

#mapCanvas img {
    max-width: none !important;
    box-shadow: none !important;
}

1
これでうまくいきました。誰かに反対票を投じるつもりなら、少なくとも理由を言うべきです。
Redtopia 2014年

0

すべての回答はmax-widht:noneでした

私にとって、max-height:継承は機能しました...

人々は#map、#map_canvasなどを使用しています。親のdivを見てください。青色の場合は#blue img {}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.