Bing Maps v8 - heatMap.setLocation不是一个函数

时间:2016-11-04 17:29:28

标签: bing bing-api bing-maps

我正在使用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);
});

1 个答案:

答案 0 :(得分:2)

看起来文档中的拼写错误,应该是setLocations。大多数开发人员在创建热图时只是将位置数组传递给构造函数,这可能是为什么没有及早注意到这一点的原因。或者他们在开发时使用TypeScript定义,具有正确的函数名称。

我已更新文档以解决此错误。 MSDN站点可能需要15分钟才能更新。感谢您的报道。