首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google室内panorama.setPosition()重定向到起始位置

Google室内panorama.setPosition()重定向到起始位置
EN

Stack Overflow用户
提问于 2015-11-28 12:39:03
回答 2查看 1.2K关注 0票数 0

我正在使用Google开发一个Google室内应用程序。我使用的全景图片,可在谷歌街景。有时,我想通过编程改变位置,例如,当有人单击一个小地图中的位置时。但是,当我调用panorama.getPosition()时,会自动被重定向到另一个位置。实际上,我可以看到position_changed事件被触发了两次。

我已经找到了这个问题的原因。这与谷歌地图在街景室内使用的起始/入口位置有关。

两个橙色圆圈描绘了进入大楼的两个可能的起点/入口点。当你把佩格曼扔到这些圆圈上时,你会进入街景室内的大楼。

看起来,当这些起点存在时,Google不允许您以编程方式将位置设置为除任何起点之外的其他位置。它总是把你重新引导到起点之一。这显然不是我想要的。

代码语言:javascript
复制
//The starting/entrance position is lat: 52.089988, lng: 5.178041
//The position I want to go to 
var goToPosition = {lat: 52.0898852, lng: 5.1780344};

//Position changed EventListener
google.maps.event.addListener(panorama, 'position_changed', function() {
    var newPosition = panorama.getPosition();
    console.log('changed position to:', newPosition.lat(), newPosition.lng());
});

//Calling setPosition with goToPosition
panorama.setPosition(goToPosition);

//Will result in two console.logs directly printed after another:
changed position to: 52.0898852 5.1780344 //goToPosition
changed position to: 52.089988 5.178041 //starting position

console.logs显示,该位置看起来是在彼此之后被直接更改两次,在起始位置结束位置。

我想知道是否有其他人遇到过这个问题,是否有一个已知的解决办法。我正在与上传全景图片到谷歌的摄影师联系。也许这些图片上传到谷歌并配置的方式是有意义的。我想知道这是否可以在我的应用程序代码中修复,或者它是否是API问题,甚至是预期的行为。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-30 19:46:42

我找到了解决我的问题的办法,部分要归功于@LilDevil的回答。

每个位置的全景图都有一个全景ID。如果你事先知道全景ID,它可以使用setPano()移动到那个位置。

我存储全景ID连同lat,lng的一个位置。当单击地图时,我计算出离单击位置最近的已知位置。然后,我可以查找属于该位置的全景ID,并使用setPano()将其移动到全景图。

这似乎不是解决问题的非常干净的方法,因为全景ID可能会随着时间的推移而改变(例如,当新的全景图片上传到时)。但是,我在文档中找不到任何说明不应该使用该方法的东西。文档中说,在处理自定义全景图片时,应该使用这种方法,而在我的情况下并非如此。另外,在这种特殊情况下,我们可以控制何时上传新的全景图片(因为这是针对Google的),因此如果发生这种情况,我可以更改存储的全景图ID。

票数 1
EN

Stack Overflow用户

发布于 2015-11-28 19:36:31

你不能把全景画成任何和弦。您需要在起始和弦和半径中使用getPanorama(),以找到最近的全景图,然后将pano设置为这些和弦。关于https://developers.google.com/maps/documentation/javascript/streetview?hl=en的几个例子

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33971396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档