• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GoogleMapsAPIのストリートビュー)

GoogleMapsAPIでストリートビューを表示させる方法

このQ&Aのポイント
  • GoogleMapsAPIを使用してマーカーを追加し、ストリートビューを表示する方法について教えてください。
  • マーカーをクリックすると、別ウィンドウでストリートビューが表示されるようにしたいです。
  • マーカーは人型のアイコンではなく、追加したマーカーで表示させたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

提示されたソースコードの修正ではなく、自分で作成したものですが、 参考になりそうでしたら、ご利用ください。 尚、このページの単純コピペだと、変なところで改行されて動作不良と なることがあるようなので、適宜修正してください。 ////////// 以下ソース <!DOCTYPE html><html><head><title>サンプル</title> <meta http-equiv='Content-Type' content='text/html; charset=shift_jis'> <script type='text/javascript' src='http://maps.google.com/maps/api/js?v=3.13&sensor=false'></script> <script type='text/javascript'> var LatLng,mOptions,pOptions,map,pano; function initialize(){ LatLng = new google.maps.LatLng(35.681382, 139.766084); //位置の初期値 mOptions = { zoom: 16, center: LatLng, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById('mcanvas'), mOptions); pOptions = { position: LatLng, pov: {heading: 0, pitch: 0, zoom: 1.34 } //方角、仰角、ズームの初期値 }; pano = new google.maps.StreetViewPanorama(document.getElementById('pcanvas'), pOptions); marker = new google.maps.Marker({ map: map, position: LatLng, draggable: true }); google.maps.event.addListener(marker, 'position_changed', function(){ LatLng = marker.getPosition(); pano.setPosition(LatLng); }); } </script></head> <body onload='initialize()'> <div id='mcanvas' style='width:640px; height:240px'></div> <div id='pcanvas' style='width:640px; height:240px'></div> </body></html> 追記: ・APIはバージョン3.1Xを使用(私は3.0のマーカーが嫌いなので) ・初期位置は東京駅ですが、ビューがないので空白になります

kokorock_goo
質問者

お礼

ご回答ありがとうございます 作成していただいたソースでできました! こんなかっこいいマーカーもあったんですね 大変勉強になりました 是非使用させていただきます!

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ANo1です。 あくまでも独自マーカーにこだわるのであれば、マップとストリートビューを連動させる際には、それぞれの移動イベントを拾って逐次他方に反映させてあげるる必要があると思われます。 また、ビューの無い地点が指定された際の処理(デフォルトの表示がどうなるのか調べていませんが)についても考慮する必要があるかも知れません。 >js初心者のためアレンジできるかわかりませんが・・・ 初心者の度合いにもよりますが、多少ややこしいかも知れません。 頑張ってください。

kokorock_goo
質問者

お礼

度々ご回答ありがとうございます! 是非参考にさせていただきます

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

ストリートビューって、使ってみたことはほとんどありませんが… マップのデフォルトの人型を利用した方が、ビューの方向や既撮影の道路(青く表示される)などの機能がそのまま利用できるので便利ではないでしょうか? あえて違うマーカーを利用する理由が見つからないので、人型を利用する例を (全角空白は半角に) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <style type="text/css"> #gMap{ width: 900px; height: 500px; } #View{ width: 900px; height: 300px; border: 1px solid #000; } </style> <script type="text/javascript"> function initialize(){  var latlng = new google.maps.LatLng(35.688272,139.696459);  var map = new google.maps.Map(document.getElementById("gMap"),{   zoom : 16,   center : latlng,   mapTypeId : google.maps.MapTypeId.ROADMAP,   streetViewControl : true  });  var view = new google.maps.StreetViewPanorama(document.getElementById("View"),{   position : latlng,   pov : {heading:0, pitch:0}  });  map.setStreetView(view); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="gMap"></div> <div id="View"></div> </body> </html> どうしても別のマーカーにする場合は、適当にアレンジしてください。 google mapのapiに関しては、かなり詳しく説明されていますので、たいていの情報は以下から入手できます。  https://developers.google.com/maps/documentation/javascript/reference?hl=ja

kokorock_goo
質問者

補足

回答ありがとうございます 人型のストリートビューとは別に、 今回はあえてマーカーからストリートビューを 表示させたくご質問させていただきました js初心者のためアレンジできるかわかりませんが、 教えていただいたURL等を参考にしてみます! ありがとうございました

関連するQ&A