アプリ版:「スタンプのみでお礼する」機能のリリースについて

普通の地図とストリートビューを両方表示したいですが。
どうもストリートビューのほうが不具合が生じます。
ストリートビューがない場所に近いところのストリートビューを表示したいですが、どうすればいいですか?
IEで見ると、ストリートビューの方角標識がズレてて、修正方法を教えていただけますでしょうか?
よろしくお願いします。


<script type="text/javascript">
<!--
var map_canvas;
function initialize() {
var initPos=new google.maps.LatLng(35.658613,139.745525);
var mapOptions = {
center:initPos,
zoom:14,
mapTypeId : google.maps.MapTypeId.ROADMAP,
streetViewControl: true,
mapTypeControl : true,
mapTypeControlOptions : {
style : google.maps.MapTypeControlStyle.DROPDOWN_MENU
}
};

map_canvas = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);


var request = {
address: "千葉県佐倉市ユーカリが丘4-575-22"
};
var geocoder = new google.maps.Geocoder();
geocoder.geocode(request, procGeocodeCallback);
}

function procGeocodeCallback(results,status){
var response;
if(status == google.maps.GeocoderStatus.OK){
for (var i = 0; i < results.length; i++){
map_canvas.setCenter(results[i].geometry.location);
openInfoWnd(results[i].geometry.location, results[i].formatted_address.replace(/^日本, /, ''));

var markerOpts = {
position : results[i].geometry.location,
map : map_canvas
};

var marker = new google.maps.Marker(markerOpts);

// ストリートビュー表示
var svp = new google.maps.StreetViewPanorama(
document.getElementById("street"), {
position : results[i].geometry.location,
pov : {
heading : 90, // 東
pitch : 20, // 斜め上
zoom : 0.5 // ズームアウト
}
});
map_canvas.setStreetView(svp);
// ストリートビューの方角などを求める
function checkSTV(){
var pov = svp.getPov();
var hd = pov.heading; // 方角
var pt = pov.pitch; // 見上げる角度
var zm = pov.zoom; // ズーム
alert("方角:"+hd+"、角度:"+pt+"、ズーム:"+zm);
}
}
}
}

function openInfoWnd(latlng,txt){
if( txt === undefined) {
txt ="";
} else {
txt += "<BR>";
}
var info = new google.maps.InfoWindow();
info.setContent("<div id=\"gmap_d\">" + "<span>" + "ユーカリが丘" + "</span>" + txt + "</div>".toString());
info.setPosition(latlng);
info.open(map_canvas);
}

google.maps.event.addDomListener(window,"load",initialize);
-->
</script>
<div id="map_canvas" style="width: 450px; height: 300px; float:left"></div>
<div id="street" style="width: 300px; height: 300px; float:left"></div>

A 回答 (1件)

markerなど外した断片コードですが。




function procGeocodeCallback(results, status) {
 if (status == google.maps.GeocoderStatus.OK) {
  var latLng = results[0].geometry.location;
  var sv = new google.maps.StreetViewService(); // StreetViewService クラス
  // latLngの半径1000m内検索
  sv.getPanoramaByLocation(latLng, 1000, panoramaByLocationCallback);
 }
}

function panoramaByLocationCallback(data, status) {
 if (status == google.maps.StreetViewStatus.OK) {
  // ストリートビュー表示
  var svp = new google.maps.StreetViewPanorama(
   document.getElementById("street"),
   {
    position: data.location.latLng,
    pov: {
     heading: 90,
     // 東
     pitch: 20,
     // 斜め上
     zoom: 0.5 // ズームアウト
   }
  });
  map_canvas.setStreetView(svp);
 } else alert('StreetViewService: ' + status);
}


StreetViewService クラス - Google Maps JavaScript API V3 リファレンス
http://code.google.com/intl/ja/apis/maps/documen …

方角のズレは分からないです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!