在做项目时遇到一个需求,要求查询地铁线路,并且线路覆盖范围为周围的N米
在查阅百度地图API后发现提供了一些方法可以实现这个功能
首先,通过查询的回调函数得到路线
transit.setPolylinesSetCallback( function ( lines ) {
changeRouteWeight ( lines );
} );
下面为处理从回调函数得到的路线的代码
//更改地铁线路宽度及透明度
function changeRouteWeight ( lines ) {
linesMap.push(lines);
for ( var line in lines ) {
lines[line].getPolyline().setStrokeWeight( lineWeight[ map.getZoom() ] );
lines[line].getPolyline().setStrokeOpacity( 0.2 );
}
}
地图的不同缩放级别需要设定不同的线宽
//地图缩放级别监听,改变缩放级别时,调整地铁线路宽度
map.addEventListener("zoomend",function(e){
for (var lines in linesArray ) {
for ( var line in linesArray[lines] ) {
linesArray[lines][line].getPolyline().setStrokeWeight( lineWeight[ map.getZoom() ] );
}
}
});大功告成,每个缩放级别下的线宽都是可以自定义的哦!
也可以根据不同需求调整透明度,颜色等
转载请注明原文地址: https://ju.6miu.com/read-1702.html