我正在从Bing Maps V7升级到V8,从JS旋转地图不再有用了。我一直在试用这段代码:
map.setView( { heading:90 } );
如果我将地图库的源URL更改为V7,则此方法有效。我发现V8中仍存在“setView”功能和“标题”选项。
这是一篇关于如何在V7中执行此操作的文章: https://alastaira.wordpress.com/2012/03/28/rotating-bing-maps/
答案 0 :(得分:1)
Bing Maps V8目前还没有Birdseye。在接下来的几个月里,V8将引入新的鸟眼体验。这种新体验有很多新的图像,使用与旧鸟眼体验不同的格式。鉴于V7中的图像非常陈旧并且是DSAT的主要观点,因此决定推迟向V8添加birdseye,直到下一次体验和数据可用。
答案 1 :(得分:1)
我做了一些研究,两个未记载的事情发生了变化。
map.setView()不再响应完整选项对象。 示例:
var options = this.map.getOptions();
options.heading = 90;
map.setView(options);
现在需要手动指定标题和其他更改字段以反映任何更改。
map.setView({heading: 90});
map.setView({heading: xx})
不再接受负值作为有效值,因此您必须手动提交任何顺时针旋转的标题值,以使其对应于正标题值。map.setView({heading: -90})
以前足够聪明,知道它等同于map.setView({heading: 270})
,但现在必须作为正值提交给API。与第一个示例类似,我有一些遗留代码,用于将地图重置回原始纬度/经度和航向,现在需要第二次setView()调用才能更新。
var options = this.map.getOptions();
options.zoom = this.initialZoom;
options.center = new Microsoft.Maps.Location(this.lat, this.lon);
options.heading = this.heading = 0;
this.map.setView(options);
this.map.setView({heading: this.heading});
必须再次调用setView,以便实际应用新标题。