我不确定这是否可能;但我想做的是在谷歌的街景中获取放大窗格的gps坐标(我认为这是它的名字?它通常由一个半透明的矩形或椭圆形表示,请参见下图):
面板在鼠标移动时围绕街景移动,并呈现在建筑物、墙壁或道路旁边。
理想情况下,我想绑定到鼠标移动事件并获取放大窗格的位置,但是在阅读了 API 之后,这似乎是不可能的。
我可以通过在全景图上添加“position_changed”事件的侦听器来从全景图中获取纬度和纬度坐标:
google.maps.event.addListener(panorama, 'position_changed', function( ) {
console.log( 'position', panorama.getPosition() );
});
我还可以通过收听 pov_changed 来获取航向和俯仰信息:
google.maps.event.addListener(panorama, 'pov_changed', function( ) {
console.log( 'pov', panorama.getPov() );
});
我正在使用 Google Maps Javascript API V3。
谢谢你的时间。
更新 ====> 如果我查看全景生成的源并打开 SVG 对象,我可以看到两个在鼠标移动时被修改的对象。代表道路面板的 Ellipse 对象:
<ellipse fill="white" fill-rule="evenodd" visibility="hidden" fill-opacity="0.5" cx="658" cy="223" rx="30" ry="5"></ellipse>
还有一个路径对象,它代表建筑物或墙上的面板。
<path fill="white" fill-rule="evenodd" visibility="hidden" fill-opacity="0.5" d="M400 53 L402 -22 L299 -65 L296 24 Z"></path>
因此,我可能会找到窗格的尺寸,但不确定是否可以使用此信息从用户当前位置找到窗格的位置。