在做项目时遇到一个需求,要求查询地铁线路,并且线路覆盖范围为周围的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() ] );}}});
大功告成,每个缩放级别下的线宽都是可以自定义的哦!
也可以根据不同需求调整透明度,颜色等