我一直没有为Here地图项目(网络,js API)寻找缩放更改和地图类型更改事件:https://developer.here.com/documentation/maps/topics/events.html
我在这里找到了缩放更改事件的解决方法:Zoom changed event for nokia Here maps
但是我找不到地图类型更改的任何内容。我什至找不到像map.getMapType()或map.getScheme()这样的函数,可以尝试将其添加到以前的解决方法中。
我正在使用基本的ui控件,因此用户只能在法线,卫星和地形图之间进行切换。
是否存在此事件?如果不存在,是否有变通方法作为缩放更改事件的解决方法?
谢谢!
答案 0 :(得分:0)
您可以通过监听事件“ baselayerchange”来捕获地图类型更改:
map.addEventListener('baselayerchange', () => {
// ...
})
要检测缩放变化,请按照您所链接的答案中的方法收听“ mapviewchangeend”
map.addEventListener('mapviewchangeend', () => {
console.log(map.getZoom())
}
答案 1 :(得分:0)
好吧,在18个月后,我再次遇到了这个问题,终于找到了解决方案。在这里:
map.addEventListener('baselayerchange', function(){
var mapType = map.getBaseLayer().getProvider().copyrightKey_;
if (mapType=="hybrid") {
// case hybrid
});
}
else if (mapType=="terrain") {
// case terrain
});
}
else {
// case normal
}
});