Имам карта на Street View на моя кампус. Мога да навигирам из областите с връзките, създадени с getCustomLinks добре. Но от известно време се занимавам с това: има ли начин за смяна между персонализирани панорами на изглед на улицата чрез избран компонент? Искам да мога да навигирам из района на кампуса със стрелките, но също така да мога да прескачам до всяка панорама в компонента за избор. Стрелките работят перфектно. Засега успях да сменя панорамите
Моето поле за избор
<select onChange="onChange()" id="hamk_select" width="1000px">
<option value="b_talo_piha">HAMK Visamäki</option>
<option value="kirjasto">Kirjasto</option>
<option value="c_talo_auditorio">Auditorio</option>
</select>
onChange()-функция
function test(){
d = document.getElementById("hamk_select").value;
var panoOptions = {
pano: d,
visible: true,
panoProvider: getCustomPanorama,
scrollwheel: true,
enableCloseButton: false,
centerHeading: 270,
disableDoubleClickZoom: true,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL
},
pov: {
heading: 130,
pitch: 0
},
clickToGo: false,
imageDateControl: false,
panControl: false
};
panorama = new google.maps.StreetViewPanorama(document.getElementById('map_canvas'),panoOptions);
Сега съм заседнал в създаването на правилните връзки. В метода за инициализация, подобен на примера в документацията eventListener се добавя към събитието 'links_changed' и 'result.location.pano' се използва за създаване на връзки.
streetviewService = new google.maps.StreetViewService();
var radius = 50;
streetviewService.getPanoramaByLocation(THE_ENTRY_LOCATION, radius,
function(result, status) {
if (status == google.maps.StreetViewStatus.OK) {
google.maps.event.addListener(panorama, 'links_changed',
function() {
createCustomLinks(result.location.pano);
});
}
});
Мисля, че трябва да използвам get getPanoramaById-method на StreetViewService вместо getPanoramaByLocation. Опитах това, но GET се проваля (статус = UNKNOWN_ERROR, JavaScript конзолата казва: 404 Not Found в заглавката, така че очевидно нещо не работи.)
streetviewService.getPanoramaById(panorama.getPano(),
function(result, status) {
if (status == google.maps.StreetViewStatus.OK) {
createCustomLinks(result.location.pano);
}
});
Извикването просто createCustomLinks(d) също не помага, тъй като var links не е дефиниран. Някакви идеи как да направите това правилно?