Bing地图图钉未显示在Office365 SharePoint页面上



我有一个Office 365 SharePoint网站,我正试图使用Bing Maps ajax控件显示包含地理位置数据的列表中的数据(http://msdn.microsoft.com/en-us/library/gg427610.aspx)。我的地图正在正确加载并显示正确的位置,但实际的图钉没有显示。我尝试过默认和自定义图钉图标,但都没有用。当我在"vanilla"html页面上使用类似的JavaScript时,图钉显示得很好,所以我认为一定与SharePoint JavaScript或css有某种冲突。

这里的相关代码块:

function fillListData(web, list, items) {
    var tile = $("#" + tileId);
    var content = tile.find('.tileContent');
    var mapOptions = {
            credentials: "",
            mapTypeId: Microsoft.Maps.MapTypeId.auto,
            showDashboard: false
            };
    var map = new Microsoft.Maps.Map(content[0], mapOptions);
    var locs = [];
    var e = items.getEnumerator();
    while (e.moveNext()) {
        var listItem = e.get_current();
        var title = listItem.get_item("Title");
        var loc = listItem.get_item("Location");
        var lat = loc.get_latitude();
        var lon = loc.get_longitude();
        var mapLoc = new Microsoft.Maps.Location(lat, lon);
        locs.push(mapLoc);
        //var pin = new Microsoft.Maps.Pushpin(mapLoc, {text: title, visible: true, icon:'../Style Library/Images/flag_red.png'}); 
        //var pin = new Microsoft.Maps.Pushpin(mapLoc, {visible: true, icon:'../Style Library/Images/flag_red.png', width: 50, height: 50}); 
        var pin = new Microsoft.Maps.Pushpin(mapLoc); 
        map.entities.push(pin);
    }
    var bestView = Microsoft.Maps.LocationRect.fromLocations(locs);
    map.setView({bounds:bestView });
}

任何见解都将不胜感激。谢谢

仔细检查lat和lon值。确保它们确实有一个值,并且它是一个数字而不是字符串。如果是字符串,请使用parseFloat将其转换为数字。存储为字符串的数字是图钉不显示的常见原因,因为Location类最终无效。

如果其他人遇到这个问题,请进入您的互联网设置,降低保护级别并进入"自定义级别",找到"启用混合内容"并启用它,这是两台机器的解决方案。

最新更新