可以在地图上叠加自定义文字,由Label类定义,效果图如下:
示例代码如下:
// 添加文字标注let label = new Label();label.text('百度地图\3S').fontSize(32).position(new LatLng(36.925, 113.4013)).bgcolor('rgba(255,235,59,0.5)').setFontColor('rgba(255,0,255,1)');this.mapController.addOverlay(label);// 添加文字标注let label2 = new Label();label2.text('百度地图\4S').fontSize(32).position(new LatLng(36.625, 113.4013)).fontType(Label.BOLD).bgcolor('rgba(255,235,59,0.6)').setFontColor('rgba(255,0,255,1)');this.mapController.addOverlay(label2);// 添加文字标注let label3 = new Label();label3.text('百度地图\5S').fontSize(32).position(new LatLng(36.425, 113.4013)).fontType(Label.BOLD_ITALIC).bgcolor('rgba(255,235,59,0.8)').setFontColor('rgba(8, 18, 203, 1.00)');this.mapController.addOverlay(label3);// 添加文字标注let label4 = new Label();label4.text('百度地图\6S').fontSize(32).position(new LatLng(36.225, 113.4013)).fontType(Label.ITALIC).bgcolor('rgba(255,235,59,1)').setFontColor('rgba(1, 55, 10, 1.00)');this.mapController.addOverlay(label4);// 改变文字颜色this.mapController.addOverlayEventListener(EOverLayTypeName.LABEL,OverlayEvent.CLICK,(bundle:EventOverlayBundle)=>{let labels = bundle.target as Array<Overlay>;if(labels && labels.length>0){labels.forEach(item=>{if(item instanceof Label){item.setFontColor('#000');promptAction.showToast({message: '点击文字',duration: 2000,});}});}});}
上一篇
下一篇
本篇文章对您是否有帮助?