{GoogleMapsAPI: 'JavaScript API V3', Title: 'streetview rotate y axis', Level: 8}
ストリートビューで私を中心に世界を回転させるために、
pitchを0に固定したいのです><
first step is fail.
最初は単純に、
pov_changedが発生したらsetPovで
pitchを0固定させてみましたが駄目でしたw;
setPovでpov_changedイベントが再度発生するようで、
ネコでもわかる無限再帰の完成ですw;
google.maps.event.addListener(panorama, 'pov_changed', function() { var pov = panorama.getPov(); panorama.setPov({ heading: pov.heading, pitch: 0, zoom: pov.zoom }); //=> Event pov_changed -w- });
second step is success. substitute addListener for addListenerOnce
なので、
addListenerからaddListenerOnceに変更。
setPovで設定し終わった後に改めて
addListenerOnceでListenerに登録です^A^ノ
var func = function() { var pov = panorama.getPov(); panorama.setPov({ heading: pov.heading, pitch: 0, zoom: pov.zoom }); google.maps.event.addListenerOnce(panorama, 'pov_changed', func); } google.maps.event.addListenerOnce(panorama, 'pov_changed', func);
一時変数のfuncが気持ち悪いですけどんw<