Wie erkennt man, ob das Street View-Panorama drinnen oder draußen ist?

Heutzutage verwenden immer mehr Unternehmen Street View, um Wohnungen von innen zu zeigen.

Mein Programm bietet die Möglichkeit, die Straßenansicht je nach ausgewähltem Unternehmen anzuzeigen. Aber ich möchte nicht drinnen zeigen. Nur draußen. Weil Drinnen mich daran hindert, mich zu bewegen, nur um 360 Grad zu drehen.

Weiß jemand, wie man von der Street View-API einen Wert abruft, wenn ich drinnen oder draußen zeige?

Vielen Dank,

Dies sind meine Code-Schnipsel, die die Straßenansicht gemäß der ausgewählten Adresse öffnen:

function load_map_and_street_view_from_address(address) {

var geocoder = new google.maps.Geocoder();
geocoder.geocode( {
    'address': address
}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        var gps = results[0].geometry.location;
        create_map_and_streetview(gps.lat(), gps.lng(), 'map_canvas', 'pano');
    }
 });
}


function create_map_and_streetview(lat, lng, map_id, street_view_id) {
var googlePos = new google.maps.LatLng(lat,lng);

addLatLng = new google.maps.LatLng(lat,lng);
var service = new google.maps.StreetViewService();
service.getPanoramaByLocation(addLatLng, 50, showPanoData);

}

function showPanoData(panoData, status) {
if (status != google.maps.StreetViewStatus.OK) {
    $('#pano').html('No StreetView Picture Available').attr('style', 'text-align:center;font-weight:bold').show();
    return;
}
$('#pano').show();
var angle = computeAngle(addLatLng, panoData.location.latLng);

var panoOptions = {
    position: addLatLng,
    addressControl: false,
    linksControl: false,
    panControl: false,
    zoomControlOptions: {
        style: google.maps.ZoomControlStyle.SMALL
    },
    pov: {
        heading: angle,
        pitch: 10,
        zoom: 1
    },
    enableCloseButton: true,
    visible:true
};

panorama.setOptions(panoOptions);

}

function computeAngle(endLatLng, startLatLng) {
var DEGREE_PER_RADIAN = 57.2957795;
var RADIAN_PER_DEGREE = 0.017453;

var dlat = endLatLng.lat() - startLatLng.lat();
var dlng = endLatLng.lng() - startLatLng.lng();

var yaw = Math.atan2(dlng * Math.cos(endLatLng.lat() * RADIAN_PER_DEGREE), dlat)
* DEGREE_PER_RADIAN;
return wrapAngle(yaw);
}

function wrapAngle(angle) {
if (angle >= 360) {
    angle -= 360;
} else if (angle < 0) {
    angle += 360;
}
return angle;
};

Die Hauptidee war, die Panorama-Position zu ermitteln und die Entfernung zu den nächstgelegenen Orten um 360 Grad zu überprüfen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage