0

我不确定这是否可能;但我想做的是在谷歌的街景中获取放大窗格的gps坐标(我认为这是它的名字?它通常由一个半透明的矩形或椭圆形表示,请参见下图):

http://tinypic.com/r/5jy8n6/6

面板在鼠标移动时围绕街景移动,并呈现在建筑物、墙壁或道路旁边。

理想情况下,我想绑定到鼠标移动事件并获取放大窗格的位置,但是在阅读了 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>

因此,我可能会找到窗格的尺寸,但不确定是否可以使用此信息从用户当前位置找到窗格的位置。

4

1 回答 1

0

您无法获得有关此窗格的任何详细信息。

此窗格是 flash-layer 的一部分,只要它不暴露窗格的任何详细信息,您将无法获得该位置。鼠标事件在这里没有帮助,因为您不知道窗格应用到的对象的距离。

于 2013-01-16T23:17:15.750 回答