高德地图3D模式下调用PathSimplifier,会使网页显示的地图强制变为俯视视角,设置的角度失效,网页上也无法调整,导致网页上显示的轨迹偏移,通过地图缩放可以看出。求大佬帮忙看看问题出在哪儿了,感激不尽!!!
路径数据导入的外部文件。地图JS代码如下
var buildings = new AMap.Buildings({
'zooms':[3,20],
'zIndex':10,
'heightFactor':2//2倍于默认高度,3D下有效
});//楼块图层
//创建地图
var map = new AMap.Map('container', {
viewMode:'3D',
pitch:60,
rotation:-35,
features:['bg','road','point'],//隐藏默认楼块
mapStyle:'amap://styles/light',
layers: [new AMap.TileLayer.Satellite(),//高德默认标准图层
buildings],
center: [116.360159,39.961302],
resizeEnable: true,
expandZoomRange:true,
zoom:15,
zooms:[3,20]
});
AMapUI.load(['ui/misc/PathSimplifier', 'lib/$'], function(PathSimplifier, $) {
if (!PathSimplifier.supportCanvas) {
alert('当前环境不支持 Canvas!');
return;
}
var pathSimplifierIns = new PathSimplifier({
zIndex: 100,
autoSetFitView: false,
map: map, //所属的地图实例
getPath: function(pathData, pathIndex) {
return pathData.path;
},
getHoverTitle: function(pathData, pathIndex, pointIndex) {
if (pointIndex >= 0) {
//point
return pathData.name + ',点:' + pointIndex + '/' + pathData.path.length;
}
return pathData.name + ',点数量' + pathData.path.length;
},
renderOptions: {
renderAllPointsIfNumberBelow: 100 //绘制路线节点,如不需要可设置为-1
}
});
window.pathSimplifierIns = pathSimplifierIns;
endIdx = 0,
myData = [{
name:'无人机路径',
path: data.slice(0, 1)
}];
pathSimplifierIns.setData(myData);
//对第一条线路(即索引 0)创建一个巡航器
var navg1 = pathSimplifierIns.createPathNavigator(0, {
loop: true, //循环播放
speed: 50 //巡航速度,单位千米/小时
});
function expandPath() {
function doExpand() {
endIdx++;
if (endIdx >= data.length) {
return false;
}
var cursor = navg1.getCursor().clone(), //保存巡航器的位置
status = navg1.getNaviStatus();
myData[0].path = data.slice(0, endIdx + 1);
pathSimplifierIns.setData(myData); //延展路径
//重新建立一个巡航器
navg1 = pathSimplifierIns.createPathNavigator(0, {
loop: true, //循环播放
speed: 50 //巡航速度,单位千米/小时
});
if (status !== 'stop') {
navg1.start();
}
//恢复巡航器的位置
if (cursor.idx >= 0) {
navg1.moveToPoint(cursor.idx, cursor.tail);
}
return true;
}
if (doExpand()) {
setTimeout(expandPath, 3000);
}
}
navg1.start();
expandPath();
});