gmap ストリートビュー
普通の地図とストリートビューを両方表示したいですが。
どうもストリートビューのほうが不具合が生じます。
ストリートビューがない場所に近いところのストリートビューを表示したいですが、どうすればいいですか?
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>