添加默认地图事件会引发错误 "map instance required"

Adding default map events throws error "map instance required"

我正在尝试将默认的鼠标平移行为添加到地图,但是在尝试创建 MapEvents 的实例时,如下所示:

var mapEvents = new H.mapevents.MapEvents(map);
var behavior = new H.mapevents.Behavior(mapEvents);

我收到这个错误:

Uncaught Error: events: map instance required

我正在开发一个 Angular 应用程序,但我尝试使用一个普通的 HTML 页面,但同样的事情发生了。

这是我使用的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <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>
    <script src="https://js.api.here.com/v3/3.1/mapsjs-ui.js" type="text/javascript" charset="utf-8"></script>
    <script src="https://js.api.here.com/v3/3.1/mapsjs-mapevents.js" type="text/javascript" charset="utf-8"></script>
    <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>
    <link rel="stylesheet" type="text/css" href="https://js.api.here.com/v3/3.1/mapsjs-ui.css" />
</head>
<body>
    <div id="map" style="height: 500px; width: 500px;">

    </div>
    <script>
        var platform = new H.service.Platform({
                'apikey': 'REPLACED'
            });
        var defaultLayers = platform.createDefaultLayers();
        var mapElement = document.getElementById('map');
        var map = new H.Map(
            mapElement,
            defaultLayers.vector.normal.map,
            {
                zoom: 5,
                center: {
                    lat: 0,
                    lng: 0
                },
                pixelRatio: window.devicePixelRatio || 1
            }
        )
        console.log(map)

        var ui = H.ui.UI.createDefault(map, defaultLayers)
        var mapEvents = new H.mapevents.MapEvents(map);
        var behavior = new H.mapevents.Behavior(mapEvents);
    </script>
</body>
</html>

其他人可以重现这个问题吗?

您需要删除重复的脚本导入。

<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>