使用jQuery,mapjs-core返回错误401

问题描述

当我在网络上查看示例代码时,脚本var map = new H.Map(...我认为应该在所有DOM加载后进行,并进行如下修改

<!DOCTYPE html>
<html lang="en">

  <head>
    <Meta charset="UTF-8">
    <title>Bible Map</title>
    <Meta name="viewport" content="initial-scale=1.0,width=device-width" />
    <link href="css/reset.css" rel="stylesheet" type="text/css">
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <!-- HERE Developer JS -->
    <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>
      $(function() {
        // Initialize the platform object:
        var platform = new H.service.Platform({
          'apikey': ‘MY API-KEY’
        });

        // 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: 6,center: {
              lng: 33.958627,lat: 30.114965
            }
          });
      });
    </script>
  </body>
  <footer>
    <address>copyright &copy;2020 Masaru Kitajima</address>
  </footer>

</html>

但是在控制台日志中,它说了

GET https://1.base.maps.ls.hereapi.com/maptile/2.1/info?xnlp=CL_JSMv3.1.18.1&apikey=MY-API-KEY&output=json 401 mapsjs-core.js:41

Uncaught Error
    at Up.xp.c (eval at <anonymous> (mapsjs-core.js:71),<anonymous>:3:111)
    at eval (eval at <anonymous> (mapsjs-core.js:71),<anonymous>:3:314)

即使在这里尝试搜索后,我也不知道。

解决方法

您似乎没有用自己的密钥替换“我的API密钥”。

var platform = new H.service.Platform({
    'apikey': ‘MY API-KEY’
});

如果您还没有HERE开发者帐户,则可以按照下面的链接创建一个帐户并获取凭据。免费增值可能是一个好的开始。 https://developer.here.com/documentation/maps/3.1.18.1/dev_guide/topics/credentials.html