Google街景首次激活时Marker不显示问题及解决方案问询
Google Maps Street View Marker Not Showing on Initial Activation (API v3.31 Bug)
我最近碰到了一个疑似Google Maps API的bug,在v3.31版本里,首次激活街景全景模式时,标记(Marker)完全不会显示——必须得移动相机(不管是平移还是改变位置)之后,标记才会突然出现。更离谱的是,谷歌官方的「Overlays within Street View」示例,在Firefox、IE、Chrome桌面端,还有安卓Chrome上都能复现这个问题。
复现步骤
- 打开官方的「Overlays within Street View」示例页面
- 点击页面上的「Toggle Street View」按钮,此时能进入街景,但看不到示例里的咖啡杯标记
- 轻轻移动一下相机(比如平移视角或者微调位置),咖啡杯标记立刻就会显示出来
我切换街景的代码
var panorama = map.getStreetView(); panorama.setPosition(<position>); panorama.setPov(<pov>); panorama.setVisible(true);
临时能让标记显示的方法
- 不用代码切换,而是用页面上的Pegman手动拖拽到位置进入街景,标记能正常显示
- 在设置POV之前加1秒延迟,有时候能解决问题,但这个方法不稳定,不是每次都生效
- 一旦标记成功显示过一次之后,再切换地图和街景模式时,标记都能正常显示,但只要刷新页面,问题就会再次出现
我已经在多种浏览器、操作系统和硬件组合上测试过,都存在这个问题。如果有朋友测试后没有遇到这个bug,麻烦告诉我你的浏览器版本、操作系统、CPU和显卡信息,非常感谢!
现在急需一个稳定可行的解决办法,希望有经验的大佬能帮忙支招~
内容的提问来源于stack exchange,提问作者Mark Foreman
相关产品推荐
相关产品推荐

