2016-11-04 64 views
1

我嘗試使用HeatMapLayer類的新Bing地圖v8。該文檔描述了一種setLocation方法,如下鏈接:必應地圖v8 - heatMap.setLocation不是函數

https://msdn.microsoft.com/en-us/library/mt712811.aspx

我創建基於Bing地圖互動SDK(http://www.bing.com/api/maps/sdk/mapcontrol/isdk#defaultHeatMap+JS)的例子。

ERROR:

但是當我運行我的腳本發生錯誤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); 
}); 

回答

2

看起來像文檔中的錯字,應該是setLocations。大多數開發人員只是在創建熱圖時將這些位置數組傳遞給構造函數,這可能就是爲什麼沒有及時注意到這一點。或者他們在開發具有正確功能名稱時使用TypeScript定義。

我已更新文檔以修復此錯字。 MSDN網站可能需要15分鐘才能更新。感謝您的報告。