我在其中一个项目中使用GStreetviewPanorama来显示某个位置的街景。我想要在GStreetviewPanorama方法中传递的参数值,以便我可以完全按照maps.google.com (相同的相机方向)的方式显示位置。我用过:
latlngPoint是我的GLatLng对象。
var panoramaOptions = { latlng: latlngPoint };
myPano = new GStreetviewPanorama(document.getElementById("strpano_div"), panoramaOptions);
我也试过
myPano = new GStreetviewPanorama(document.getElementById("strpano_div"));
var myPOV = {yaw:270};
myPano.setLocationAndPOV(latlngPoint,myPOV);
当我在maps.google.com中传递与上述latlng相对应的地址时,该位置以不同的角度显示。请为我推荐GPov选项的最佳值,例如:偏航,俯仰和缩放,以便摄像头方向与 maps.google.com 使用的完全相同。
谢谢。
答案 0 :(得分:0)
我已将此代码更改为原始代码,但我相信您可以遵循:
var panoPosLat = panoPos.lat() / 180 * Math.PI;
var panoPosLng = panoPos.lng() / 180 * Math.PI;
var y = Math.sin(markerPosLng - panoPosLng) * Math.cos(markerPosLat);
var x = Math.cos(panoPosLat)*Math.sin(markerPosLat) - Math.sin(panoPosLat)*Math.cos(markerPosLat)*Math.cos(markerPosLng - panoPosLng);
brng = Math.atan2(y, x) / Math.PI * 195;
var pov = mybigpano2.getPov();
pov.heading = parseFloat(brng);
mybigpano2.setPov(pov);
我使用195度,因为有许多街道有很多曲线。
改变标题是关键。
我认为这是我找到代码的地方: enter link description here
我原本遇到了一些问题,我在stackoverflow上发布了这里: enter link description here
希望有所帮助