当前位置: 首页 > news >正文

学做网站论坛vip学员码wordpress支付宝_财付通_paypal集成插件

学做网站论坛vip学员码,wordpress支付宝_财付通_paypal集成插件,婚纱摄影网站制作,国家企业信用公示信息年报全国场景介绍 本章节将向您介绍如何在地图的指定位置添加点注释以标识位置、商家、建筑等,并可以通过信息窗口展示详细信息。 点注释支持功能: 支持设置图标、文字、碰撞规则等。支持添加点击事件。 PointAnnotation有默认风格,同时也支持自定…

场景介绍

本章节将向您介绍如何在地图的指定位置添加点注释以标识位置、商家、建筑等,并可以通过信息窗口展示详细信息。

点注释支持功能:

  • 支持设置图标、文字、碰撞规则等。
  • 支持添加点击事件。

PointAnnotation有默认风格,同时也支持自定义。由于内容丰富,以下只展示一些基础功能的使用,详细内容可分参见接口文档。

cke_3725.jpeg

接口说明

添加点注释功能主要由PointAnnotationParams、addPointAnnotation和PointAnnotation提供,更多接口及使用方法请参见接口文档。

接口名

描述

PointAnnotationParams

点注释相关属性。

addPointAnnotation(params: mapCommon.PointAnnotationParams): Promise<PointAnnotation>

在地图上添加点注释。

PointAnnotation

点注释,支持更新和查询相关属性。

开发步骤

添加点注释

  1. 导入相关模块。
    import { MapComponent, mapCommon, map } from '@kit.MapKit';
    import { AsyncCallback } from '@kit.BasicServicesKit';

  2. 添加点注释,在Callback方法中创建初始化参数并新建点注释。
    @Entry
    @Component
    struct PointAnnotationDemo {
    private mapOption?: mapCommon.MapOptions;
    private mapController?: map.MapComponentController;
    private callback?: AsyncCallback<map.MapComponentController>;
    private pointAnnotation?: map.PointAnnotation;
    aboutToAppear(): void {
    this.mapOption = {
    position: {
    target: {
    latitude: 32.020750,
    longitude: 118.788765
    },
    zoom: 14
    }
    };
    this.callback = async (err, mapController) => {
    if (!err) {
    this.mapController = mapController;
    let pointAnnotationOptions: mapCommon.PointAnnotationParams = {
    // 定义点注释图标锚点
    position: {
    latitude: 32.020750,
    longitude: 118.788765
    },
    // 定义点注释名称与地图poi名称相同时,是否支持去重
    repeatable: true,
    // 定义点注释的碰撞规则
    collisionRule: mapCommon.CollisionRule.NAME,
    // 定义点注释的标题,数组长度最小为1,最大为3
    titles: [{
    // 定义标题内容
    content: "南京夫子庙",
    // 定义标题字体颜色
    color: 0xFF000000,
    // 定义标题字体大小
    fontSize: 15,
    // 定义标题描边颜色
    strokeColor: 0xFFFFFFFF,
    // 定义标题描边宽度
    strokeWidth: 2,
    // 定义标题字体样式
    fontStyle: mapCommon.FontStyle.ITALIC
    }
    ],
    // 定义点注释的图标,图标存放在resources/rawfile
    icon: "",
    // 定义点注释是否展示图标
    showIcon: true,
    // 定义点注释的锚点在水平方向上的位置
    anchorU: 0.5,
    // 定义点注释的锚点在垂直方向上的位置
    anchorV: 1,
    // 定义点注释的显示属性,为true时,在被碰撞后仍能显示
    forceVisible: false,
    // 定义碰撞优先级,数值越大,优先级越低
    priority: 3,
    // 定义点注释展示的最小层级
    minZoom: 2,
    // 定义点注释展示的最大层级
    maxZoom: 22,
    // 定义点注释是否可见
    visible: true,
    // 定义点注释叠加层级属性
    zIndex: 10
    }
    this.pointAnnotation = await this.mapController.addPointAnnotation(pointAnnotationOptions);
    }
    };
    }
    build() {
    Stack() {
    Column() {
    MapComponent({ mapOptions: this.mapOption, mapCallback: this.callback });
    }.width('100%')
    }.height('100%')
    }
    }

    cke_10794.png

  3. 在添加点注释之后,修改已经设置的标记属性。
    // 设置点注释的显示层级为3~14级
    this.pointAnnotation.setZoom(3,14);
    // 设置点注释的碰撞优先级为10
    this.pointAnnotation.setPriority(10);

设置监听点注释点击事件

this.mapController?.on("pointAnnotationClick", (pointAnnotation) => {
console.info("pointAnnotationClick", `on-PointAnnotationClick pointAnnotation = ${pointAnnotation.getId()}`);
});

点注释动画

PointAnnotation调用setAnimation(animation: Animation)设置动画。

PointAnnotation调用startAnimation启动动画。

let animation: map.ScaleAnimation = new map.ScaleAnimation(1, 3, 1, 3);
// 设置动画单次的时长
animation.setDuration(3000);
// 设置动画的开始监听
animation.on("start", () => {
console.info('start ScaleAnimation');
});
animation.on("end", () => {
console.info('end ScaleAnimation');
});
// 设置动画执行完成的状态
animation.setFillMode(map.AnimationFillMode.BACKWARDS);
// 设置动画重复的方式
animation.setRepeatMode(map.AnimationRepeatMode.REVERSE);
// 设置动画插值器
animation.setInterpolator(Curve.Linear);
// 设置动画的重复次数
animation.setRepeatCount(100);
this.pointAnnotation.setAnimation(animation);
this.pointAnnotation.startAnimation();

cke_15461.gif

点注释标题动画

PointAnnotation调用setTitleAnimation(animation:FontSizeAnimation )设置标题动画。

PointAnnotation调用startTitleAnimation启动标题动画。

let animation: map.FontSizeAnimation = new map.FontSizeAnimation(15, 45);
// 设置动画单次的时长
animation.setDuration(3000);
// 设置动画的开始监听
animation.on("start", () => {
console.info('start FontSizeAnimation');
});
animation.on("end", () => {
console.info('end FontSizeAnimation');
});
// 设置动画执行完成的状态
animation.setFillMode(map.AnimationFillMode.FORWARDS);
// 设置动画重复的方式
animation.setRepeatMode(map.AnimationRepeatMode.REVERSE);
// 设置动画插值器
animation.setInterpolator(Curve.Linear);
// 设置动画的重复次数
animation.setRepeatCount(100);
this.pointAnnotation.setTitleAnimation(animation);
this.pointAnnotation.startTitleAnimation();

cke_20022.gif

http://www.15wanjia.com/news/183811.html

相关文章:

  • 萝岗哪家网站建设好dede网站重新安装
  • 网站建设谈单技巧济南市住房与城乡建设厅网站
  • 福州网站设计软件公司wordpress支付宝微信收费吗
  • 网站做外链好嘛钢结构
  • 凡科自助建站平台公司网站开发费用放在什么科目
  • 一站式媒体发稿平台随手app广告怎么关闭
  • 在线教育网站开发文档提取卡密网站怎么做
  • 高校思政主题网站建设的意义成立公司注册资金要求
  • 学编程做网站网站开发后端书籍
  • wordpress怎么加站点图标网站建设侵权
  • 怎样算网站侵权上海做网站建设公司
  • 北京建设网站山东省级建设主管部门网站
  • 湖北网站建设开发厦门网站代理
  • 网站seo搜索引擎优化教程洛阳建站洛阳市网站建设
  • 哪个网站做初中英语试题赚钱网站建设视频 备份 反代
  • 专业购物网站建设报价小程序前端开发
  • 加盟商网站建设网页编辑的软件
  • 合肥专业做网站公司郑州网站建设qicaizz
  • 网站用什么语言做wordpress 链接 跳转
  • 为什么做企业网站东莞网站建设0086
  • 禅城建设网站什么网站能看到专业的做面包视频
  • wordpress音乐播放器网站优化多少钱
  • 个人购物网站搭建徐水网站建设
  • 西安网站优化指导什么优化
  • 家具营销型网站长春制作公司网站
  • 把别人的图片拿来做网站网站设计论文经济可行性分析
  • 网站推广专家wordpress 区块链主题
  • 专业律所网站建设自己做的网站别人
  • 德阳seo网站建设做网站vi系统是什么
  • 郑州网站优化公司排名重庆网站建设cqsday