特定の場所のGoogle StreetViewをウェブページに埋め込むことに挑戦しています。通常、GoogleのiFrame埋め込み機能を使用しますが、ページがホストされているプラットフォームではiFrameは使用できません。HTMLドキュメントにクエリ文字列を書き込む
iFrameを使用できない場合は、純粋なHTMLドキュメントとGoogleの真のStreetView埋め込みアプローチを使用する伝統的な方法を実行する必要があります。 URLをパラメータ化して、ユーザーがクエリ文字列を渡して、表示する場所をStreetViewに伝えることができる点を除いて、問題ありません。
http://my.site.com/streetview.html&y=37.869260&x=-122.254811
GoogleのStreetView embed documentは私の右のHTML文書にストリートビューを落とすの偉大な例を示します。私はストリートビュー要素の「緯度」と「LNG」変数に「Y」と「x」は、クエリ文字列に渡された値を書き込むためのスクリプトのセクションを変更しようとしている
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Street View</title>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#street-view {
height: 100%;
}
</style>
</head>
<body>
<div id="street-view"></div>
<script>
var panorama;
function initialize() {
panorama = new google.maps.StreetViewPanorama(
document.getElementById('street-view'),
{
position: {lat: 37.869260, lng: -122.254811},
pov: {heading: 165, pitch: 0},
zoom: 1
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=[YourAPIKey]&callback=initialize">
</script>
</body>
</html>
ストリートビューは常になるように、 URL内のyとxのクエリ文字列として渡す場所はどこにでもあります。
<script>
var panorama;
function initialize() {
panorama = new google.maps.StreetViewPanorama(
document.getElementById('street-view'),
{
position: {lat: 37.869260, lng: -122.254811},
pov: {heading: 165, pitch: 0},
zoom: 1
});
}
</script>
これはほとんど機能しましたが、JavaScriptコンソールでエラーが発生しました。 js?InvalidValueError:setPosition:LatLngまたはLatLngLiteral:プロパティでlat:数字ではない – MrBubbles
parseInt関数を使用してlattとlonggを整数に変換する –
更新された回答を参照 –