Heute nutzen immer mehr Unternehmen Street View, um Wohnungen von innen zu zeigen.Woher weiß man, ob Street View Panorama drinnen oder draußen ist?
Mein Programm bietet die Möglichkeit, die Straßenansicht entsprechend dem ausgewählten Geschäft anzuzeigen. Aber ich möchte nicht drinnen zeigen. Nur im Freien. Weil Drinnen mich blockiert, nur um 360 Grad zu drehen.
Kann jemand von Street View API etwas Wert holen, wenn ich drinnen oder draußen zeigen werde?
Vielen Dank,
Das ist mein Code-Schnipsel ist so weit, dass freie Aussicht Straße gewählte Adresse nach:
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 Panorama Lage zu bekommen war, und überprüfen Sie Abstand zu nächstgelegene Orte um 360 Grad.
Sieht aus, als wären ähnliche Anfragen als Bugs/Verbesserungen eingereicht worden: http://code.google.com/p/gmaps-api-Probleme/Probleme/Liste? Kann = 2 & q = indoor & colspec = ID + Typ + Status + Eingeführt + Fixed + Zusammenfassung + Sterne + ApiType + Interne & Zellen = Kacheln – JSuar
Ich poste dies nicht als Antwort als Es kann sich jeden Tag ändern, aber für den Moment habe ich festgestellt, dass jede Eigenschaft von panorama.links eine Beschreibungseigenschaft (mit dem Straßennamen) hat, wenn der Panorama-Ort im Freien ist und leer ist, wenn er drinnen ist (panorama.links.length === 0 || panorama.links [0] .description == ""), sollte es im Innenbereich "true" ergeben. Ich sollte hinzufügen, dass ich es nicht ausgiebig getestet habe, so bin ich nicht sicher, dass es halten wird. Und ich glaube, das wird sich bald ändern – yoelp
Danke, lass mich deinen Weg testen –