2016-09-28 4 views
0

svg要素にGoogleマップを追加するにはどうすればよいですか? マップでsvgを埋めたい。SVG要素に埋め込まれたGoogleマップiframe

マップはなく、伸びやSVGのうち、あなたはiframe内のsrcのリンクを挿入する必要があるコードをTESTEするに

を形作る表示されます。

マイコード:

svg 
 
{ 
 
    stroke: red; 
 
}
<svg viewBox="0 0 100 100" preserveAspectRatio="none"> 
 
    <foreignObject id="map" width="560" height="349"> 
 
    <iframe width="560" height="349" frameborder="0" style="border:0" src="LINK + API_KEY" allowfullscreen></iframe> 
 
    </foreignObject> 
 
    <path fill="url(#map)" d="M 50 15, 100 25, 100 100, 50 100, 0 100, 0 25Z" /> 
 
</svg>

感謝の

+0

はSOへようこそ!サンプルコードを提供する際には、[最小、完全、検証可能な例](http://www.stackoverflow.com/help/mcve)にしてください(実際のiframeサンプルを提供してください)。私は正しくiframeをマスクするためにsvgを使用することができますあなたの最小限の質問を正しく理解していますか? – henry

+0

はい、これです! googleのapiキーがマップされているため、有効なiframeが表示されません。 – user3242861

+0

クール。それが問題なら、googleマップは本当に重要ではありませんし、iframeはうまくいくでしょう。 – henry

答えて

1

ここYokselの"Masking video with SVG Clippath"に基づくソリューションです。プレースホルダビデオは、実用的なパブリックiframeを提供するだけです。このソリューションを使用するには、<path>を適切なサイズに再定義する必要があります(運が良ければ、Yokselのようにパーセンテージを使用できます)。

(@yokselはあなたが同じYokselある?)

.svg { 
 
    width: 560px; 
 
    height: 349px; 
 
}
<svg class="svg"> 
 
    <clippath id="my-clippath"> 
 
    <path d="M 50 15, 100 25, 100 100, 50 100, 0 100, 0 25Z"></path> 
 
    </clippath> 
 

 
    <g clip-path="url(#my-clippath)"> 
 
    <foreignObject width="560" x="0" y="0" height="349"> 
 
     <iframe width="560" height="349" src="https://www.youtube.com/embed/NpEaa2P7qZI" frameborder="0" allowfullscreen></iframe> 
 
    </foreignObject> 
 
    </g> 
 
</svg>

+0

ありがとうございました。これはそれですが、私はどのように幅:100%と高さ:100%のクリッパスを置くことができますか?そして内容を適合させる。 私はsvgシェイプをたくさん使用していますが、画像が埋め込まれている場合やiframeがある場合はレスポンシブに問題があります。 – user3242861

+0

まだ作業している場合:https://www.smashingmagazine.com/2015/05/creating-responsive-shapes-with-clip-path/ http://bennettfeely.com/clippy /、およびhttp://codepen.io/maddesigns/full/jJqep – henry

関連する問題