Here api 使用CanvasLayer在此处加载js 3.1地图时出现TypeError

Here api 使用CanvasLayer在此处加载js 3.1地图时出现TypeError,here-api,Here Api,我有一个简单的html/js网站项目,其中包含heremap(使用新的v3.1API)。网站加载后,它会立即崩溃,出现晦涩的TypeError,上面写着“无法读取未定义的属性'fc'” 尝试在此处包括其他模块,如mapsjs-data.js、mapsjs-core-legacy.js等。尝试了所有可能的方法初始化地图和画布层,尝试了其他浏览器,甚至都没有影响问题 只有在我添加一些画布层(我需要在地图上绘制一些东西)时才会崩溃,否则一切正常,地图显示良好: map.addLayer(new H.

我有一个简单的html/js网站项目,其中包含heremap(使用新的v3.1API)。网站加载后,它会立即崩溃,出现晦涩的TypeError,上面写着“无法读取未定义的属性'fc'”

尝试在此处包括其他模块,如mapsjs-data.js、mapsjs-core-legacy.js等。尝试了所有可能的方法初始化地图和画布层,尝试了其他浏览器,甚至都没有影响问题

只有在我添加一些画布层(我需要在地图上绘制一些东西)时才会崩溃,否则一切正常,地图显示良好:

map.addLayer(new H.map.layer.CanvasLayer(function (ctx, renderParams) { return H.map.render.RenderState.DONE; }));
绘图处理程序甚至不会被调用一次(因此它不是它的内容)。它只是崩溃了。 地图的初始化非常简单,并遵循官方示例:

const defaultLayers = platform.createDefaultLayers();
const baseTiles = defaultLayers.vector.normal.map;
const map = new H.Map(
    $("#mapContainer")[0],
    baseTiles,
    {
       zoom: 10,
       center: { lng: 13.4, lat: 52.51 }
    });
这是一个错误还是我做错了什么

编辑: 根据官方快速入门教程复制错误的完整示例

<html>
<head>
    <meta name="viewport" content="initial-scale=1.0, width=device-width" />
    <script src="https://js.api.here.com/v3/3.1/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
    <script src="https://js.api.here.com/v3/3.1/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
    <div style="width: 640px; height: 480px" id="mapContainer"></div>
    <script>
        // Initialize the platform object:
        var platform = new H.service.Platform({
            'apikey': '{YOUR_APIKEY}'
        });

        // Obtain the default map types from the platform object
        var maptypes = platform.createDefaultLayers();

        // Instantiate (and display) a map object:
        var map = new H.Map(
            document.getElementById('mapContainer'),
            maptypes.vector.normal.map,
            {
                zoom: 10,
                center: { lng: 13.4, lat: 52.51 }
            });

        //--------------------------------------------------------------------
        //this line causes the website to crash upon load
        map.addLayer(new H.map.layer.CanvasLayer(function (ctx, renderParams) { return H.map.render.RenderState.DONE; }));
        //--------------------------------------------------------------------
    </script>
</body>
</html>

//初始化平台对象:
var平台=新的H.service.platform({
“apikey”:“{YOUR_apikey}”
});
//从平台对象获取默认贴图类型
var maptypes=platform.createDefaultLayers();
//实例化(并显示)地图对象:
变量映射=新的H.映射(
document.getElementById('mapContainer'),
maptypes.vector.normal.map,
{
缩放:10,
中心:{lng:13.4,lat:52.51}
});
//--------------------------------------------------------------------
//此行导致网站在加载时崩溃
addLayer(新的H.map.layer.CanvasLayer(函数(ctx,renderParams){return H.map.render.RenderState.DONE;}));
//--------------------------------------------------------------------

如何初始化
平台
?您需要在版本3.1中提供
apikey
,而在版本3中它是
app\u id
app\u code
。0@StephaneL是的,我更新了这一点,平台初始化很简单,如示例中所示:
constplatform=new H.service.platform({apikey:“xxx”,useCIT:false,useHTTPS:true})
您可以发布更多的代码片段吗?我们无法重现您的错误。@我编辑了这篇文章以包含完整的代码,请运行它。对我来说,100%的时间都失败了。开发机器是Windows10x64(最新1903更新),浏览器是最新的chrome。IDE是Visual Studio代码。@尼莫,谢谢,我们已经能够重现错误,我们将尽快与您联系修复。您如何初始化平台?您需要在版本3.1中提供
apikey
,而在版本3中它是
app\u id
app\u code
。0@StephaneL是的,我更新了这一点,平台初始化很简单,如示例中所示:
constplatform=new H.service.platform({apikey:“xxx”,useCIT:false,useHTTPS:true})
您可以发布更多的代码片段吗?我们无法重现您的错误。@我编辑了这篇文章以包含完整的代码,请运行它。对我来说,100%的时间都失败了。开发机器是Windows10x64(最新1903更新),浏览器是最新的chrome。IDE是Visual Studio代码。@尼莫,谢谢你,我们已经能够重现错误,我们会尽快给你回复修复。