如何在UI控件HERE Maps v3.1中获取地形图 [英] How do I get a Terrain Map in UI Controls HERE Maps v3.1
问题描述
升级到带有矢量/WebGL渲染的v3.1 Javascript SDK后,默认的UI控件中现在没有地形层.
After upgrading to the v3.1 Javascript SDK with vector/WebGL rendering, there is now no terrain layer in the default UI Controls.
我查看了API文档,但是没有一个清晰的示例可以找到如何指定UI控件中显示的内容.
I have looked into the API documentation but there is no clear example that I could find that shows how to specify what shows up in the UI Controls.
var platform = new H.service.Platform({
apikey: 'key'
});
var layers = platform.createDefaultLayers();
var hereMap = new H.Map(
document.getElementById(mapCanvasDiv),
defaultLayers.vector.normal.map,
{
zoom: mapOptions.zoom,
center: mapOptions.center
});
var ui = H.ui.UI.createDefault(hereMap, defaultLayers);
// Guessing I can change "ui" in some way to include the terrain layer which is a raster layer.
hereMap.UIControls = ui;
我希望在UI控件中具有普通",地形"和卫星"层,就像我们在v3.0上使用时一样,因为我们的一些客户正在使用该层.
I'd like to have Normal, Terrain and Satellite layers in the UI Controls like when we were on v3.0 as some of our customers use this layer.
推荐答案
请参阅以下有关
"设置基本地图类型". https://developer.here.com/documentation/maps/topics/map-types.html
"光栅" https://developer.here.com/documentation/maps/topics/raster. html
" H.ui.MapSettingsControl.Options " 要使用卫星和地形,请使用栅格地图类型.
In order to use satellite and terrain please use raster map type.
defaultLayers.raster.terrain.map
defaultLayers.raster.satellite.map
例如自定义地图设置控件
For example to customize Map Setting Control
var defaultLayers = platform.createDefaultLayers();
var map = new H.Map(document.getElementById('map'),
defaultLayers.raster.terrain.map, {
center: {lat: 52.51477270923461, lng: 13.39846691425174},
zoom: 13,
pixelRatio: window.devicePixelRatio || 1
});
var ui = H.ui.UI.createDefault(map, defaultLayers);
//remove default mapsettings control
ui.removeControl("mapsettings");
// create custom one
var ms = new H.ui.MapSettingsControl( {
baseLayers : [ {
label:"normal",layer:defaultLayers.raster.normal.map
},{
label:"satellite",layer:defaultLayers.raster.satellite.map
}, {
label:"terrain",layer:defaultLayers.raster.terrain.map
}
],
layers : [{
label: "layer.traffic", layer: defaultLayers.vector.normal.traffic
},
{
label: "layer.incidents", layer: defaultLayers.vector.normal.trafficincidents
}
]
});
ui.addControl("customized",ms);
祝您编程愉快!
这篇关于如何在UI控件HERE Maps v3.1中获取地形图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!