3

私は最近 Google マップ API v3 を使い始めたばかりで、infoBox のリンクをクリックするだけでストリート ビュー モードを起動できる方法があるかどうかを尋ねたいと思いました。

これまでのところ、これは私のコードです:

var map;
var marker;
var infowindow;

function HomeControl(controlDiv, map) {controlDiv.style.margin = '50px 0 0 0';}

 function initialize() {
   var location = new google.maps.LatLng(37.78391, -122.407157);
   var mapOptions = {
                       center: location,
                       zoom: 18,
                       panControl: false,
                       scrollwheel: false,
                       zoomControl: false,
                       scaleControl: true,
                       streetViewControl: true,
                       streetViewControlOptions: {
                               mapTypeControl: true,
                               mapTypeId: google.maps.MapTypeId.ROADMAP };
                       map = new google.maps.Map(document.getElementById('map-canvas'),
                                        mapOptions);

                       marker = new google.maps.Marker({position: map.getCenter(),
                                    map: map,
                                    title: 'Click to zoom'
                       });

                       var boxText = document.createElement("div");
                       boxText.style.cssText = "margin-top: 26px; background:   url('inc/images/infowindow-overlay.png') repeat left top; padding: 15px 20px;";
                                boxText.innerHTML = "<span class='pointing-arrow'></span><h2 class='adress-title'>San Francisco Center</h2><a href='#'>Centre Website</a><a href='#'>Street View</a>";

                       var myOptions = {
                                    content: boxText,
                                    disableAutoPan: false,
                                    maxWidth: 0,
                                    pixelOffset: new google.maps.Size(-5, 0),
                                    zIndex: null,
                                    boxStyle: {width: "280px"}
                                };


                                map = new google.maps.Map(document.getElementById("map-canvas"),
                                mapOptions);
                                var image = 'inc/images/westfield-marker-logo.png';
                                marker = new google.maps.Marker({
                                    position: location,
                                    map: map,
                                    title: 'Westfield HQ',
                                    draggable: true,
                                    icon: image
                                });

                                //infowindow.open(map,marker);
                                google.maps.event.addListener(marker, 'click', function() {
                                    map.setZoom(18);
                                    map.setCenter(marker.getPosition());
                                    ib.open(map, this);
                                });

                                var ib = new InfoBox(myOptions);
                            }
                            google.maps.event.addDomListener(window, 'load', initialize);

ここでやりたいことは、boxText を初期化し、マークアップを追加する部分で、ストリート ビューのアンカー タグでストリート ビューの onclick を初期化することです。

外部リンクをクリックしてマップをマーカーの中心に配置するなど、ドキュメントでいくつかのオプションを見つけましたが、クリック時にストリート ビューをアクティブにするオプションが見つかりませんでした。

4

1 に答える 1