我正在使用HeatMapLayer Class尝试新的Bing Maps v8。文档描述了一个setLocation方法,如下面的链接:
https://msdn.microsoft.com/en-us/library/mt712811.aspx
我基于Bing Maps Interactive SDK(http://www.bing.com/api/maps/sdk/mapcontrol/isdk#defaultHeatMap+JS)创建了一个示例。
但是当我运行脚本时出现错误:
错误:heatMap.setLocation不是函数
有人可以帮助我吗?
var map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
credentials: 'Your Bing Maps Key',
center: new Microsoft.Maps.Location(39.393486, -98.100769),
zoom: 3
});
Microsoft.Maps.loadModule('Microsoft.Maps.HeatMap', function () {
// Creating sample Pushpin data within map view
var mapDiv = map.getRootElement();
var locations = [];
for (var i = 0; i < 1000; i++) {
locations.push(map.tryPixelToLocation(new Microsoft.Maps.Point(mapDiv.clientWidth * Math.random(), mapDiv.clientHeight * Math.random()), Microsoft.Maps.PixelReference.control));
}
var heatMap = new Microsoft.Maps.HeatMapLayer();
heatMap.setLocation(locations); // error line
map.layers.insert(heatMap);
});
答案 0 :(得分:2)
看起来文档中的拼写错误,应该是setLocations。大多数开发人员在创建热图时只是将位置数组传递给构造函数,这可能是为什么没有及早注意到这一点的原因。或者他们在开发时使用TypeScript定义,具有正确的函数名称。
我已更新文档以解决此错误。 MSDN站点可能需要15分钟才能更新。感谢您的报道。