场景介绍
本章节将向您介绍如何在地图上绘制圆形。
接口说明
添加圆形功能主要由MapCircleOptions、addCircle和MapCircle提供,更多接口及使用方法请参见接口文档。
接口名 | 描述 |
---|---|
用于描述MapCircle属性。 | |
addCircle(options: mapCommon.MapCircleOptions): Promise<MapCircle> | 在地图上添加一个圆,指定圆心经纬度和圆的半径,用于表示某个位置的周边范围。 |
更新和查询圆的接口。 |
开发步骤
- 导入相关模块。
import { MapComponent, mapCommon, map } from '@kit.MapKit'; import { AsyncCallback } from '@kit.BasicServicesKit';
- 添加圆,在Callback方法中创建初始化参数并新建Circle,效果如下图。
@Entry @Component struct MapCircleDemo { private mapOption?: mapCommon.MapOptions; private mapController?: map.MapComponentController; private callback?: AsyncCallback<map.MapComponentController>; private mapCircle?: map.MapCircle; aboutToAppear(): void { // 地图初始化参数 this.mapOption = { position: { target: { latitude: 39.918, longitude: 116.397 }, zoom: 14 } }; this.callback = async (err, mapController) => { if (!err) { this.mapController = mapController; // Circle初始化参数 let mapCircleOptions: mapCommon.MapCircleOptions = { center: { latitude: 39.918, longitude: 116.397 }, radius: 500, clickable: true, fillColor: 0XFFFFC100, strokeColor: 0xFFFF0000, strokeWidth: 10, visible: true, zIndex: 15 } // 创建Circle this.mapCircle = await this.mapController.addCircle(mapCircleOptions); } }; } build() { Stack() { Column() { MapComponent({ mapOptions: this.mapOption, mapCallback: this.callback }); }.width('100%') }.height('100%') } }