我正在尝试使用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未定义有关。但是我不确定为什么会这样。有什么想法吗?
如果这很难看,我深表歉意,我之前从未做过。感谢您的帮助。
答案 0 :(得分:1)
如果要使用HERE Map 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
},
我希望有帮助。