这里 api 不会使用 Geojson 在地图上绘制,无法读取 属性 未定义的 geojson

Here api won't draw on map using Geojson, can't read property geojson of undefined

我正在尝试使用 geojson 文件在地图上绘制各种多边形。我该怎么做?

我正在使用版本 3 并复制了示例代码,但它无法正常工作。我已经尝试链接更多 javascript 源文件,甚至尝试使用多边形函数手动制作形状,但这也没有用。

var platform = new H.service.Platform({
    app_id: 'xxxxxxxxxxx',
    app_code: 'xxxxxxxxxxxxx',
    useCIT: true,
    useHTTPS: true
})
var defaultLayers = platform.createDefaultLayers()

// Initialize a map - this map is centered over Europe
var map = new H.Map(document.getElementById('map'),
    defaultLayers.normal.map, {
        center: {
            lat: 102
                                lng: 50
        },
        zoom: 9,
        pixelRatio: window.devicePixelRatio || 1
    })
console.log(map)
this.map = map
// Add a resize listener to make sure that the map occupies the whole container
window.addEventListener('resize', () => map.getViewPort().resize())

var reader = new H.data.geojson.Reader('./path/to/file.json');
reader.parse();
this.map.addLayer(reader.getLayer());
        }
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-core.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-service.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-ui.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-mapevents.js"></script>
<script type="text/javascript" src="https://js.api.here.com/v3/3.1/mapsjs-data.js"></script>

我希望多边形像在 geojson.com 这样的网站上那样绘制在地图上,但我得到的只是控制台中的这个错误:('无法读取 属性 'geojson' 的未定义')。地图和其他一切正常。

我怀疑这与 H.data 未定义有关。但我不确定为什么会这样。有什么想法吗?

如果这很难读,我深表歉意,我以前没有做过。感谢您的帮助。

如果您要使用 HERE 地图 API 3.1 版,请参阅下面的快速入门教程。

https://developer.here.com/documentation/maps/topics/quick-start.html

您需要使用 APIKEY 而不是 APP_CODE 和 APP_ID。

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

将基础层对象更改为下面。

 defaultLayers.normal.map -> defaultLayers.vector.normal.map

您需要输入 ',' 并可能在中心切换 lng 和 lat 属性。

  center: {
      lng: 102,
      lat: 50
   },

希望对您有所帮助。