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

时间:2019-07-31 03:53:29

标签: javascript maps here-api

我正在尝试使用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未定义有关。但是我不确定为什么会这样。有什么想法吗?

如果这很难看,我深表歉意,我之前从未做过。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果要使用HERE Map API版本3.1,请参见下面的快速入门教程。

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

您需要使用API​​KEY代替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
   },

我希望有帮助。