今天,项目暂时进程安排先告一段落,嘿嘿,难得有时间,写点东西记录一下开发地图过程的ixie功能实现,希望可以帮助有需要的人。
在我的项目里面我坐的是有关航线这块的需求,相对来说话说比较复杂的,但是呢不影响,有问题就是需要解决的。
1.折线实现:这些都不难实现的啦,官网教科书直接搬下来灵活运用,代码不完整,自己灵活运用
that.polyline = new AMap.Polyline({
path: lineitem,//轨迹路径
isOutline: true,
borderWeight: 3,
outlineColor: '#fff',
strokeColor: '#3BED65',
strokeOpacity: 0.8,
strokeWeight: 5,
strokeStyle: 'solid',
strokeDasharray: [10, 5],
lineJoin: 'miter',
lineCap: 'round',
zIndex: 999
})
that.polylineArr.push(that.polyline)//自己的需求,我的是需要记录每一条航线
that.polyline.setMap(that.amp)
// 缩放地图到合适的视野级别
// that.amp.setFitView([that.polyline])
2.点实现:这些也不难实现的啦,代码不完整,自己灵活运用
// 生成对应点
let addMarker = new AMap.Marker({
position: [e.lnglat.lng, e.lnglat.lat],//经纬度
icon: that.waypointicon,//图标
offset: new AMap.Pixel(-9, -9),
cursor: 'move',
zIndex: 99,
draggable: false,//是否拖拽
map: that.amp //对应地图
})
下面,由于功能需求,我需要在航线上面做航点的增删改,即对应的航线上面添加航点(点位置不确定),删除,改动(拖拽点位置)
我的思路:(只提供思路,各需求不一样,有需求可以留言哈)
1.把航线拆分开来,每二个点组成一个新的航线,这个在线上添加航点就可知道添加点的位置; 再重新渲染折线就OK了。再线外添加航点,可以根据添加点距离航线头尾二个点的距离,再距离近的一段添加就ok了
2.移动点,其实就是每个航点的拖拽位置的改变,再重新渲染改变后的点就ok了,
3.删除点,就是点击某个航点的时候,给与用户提示,然后移除对应点就OK了,