如何把组件转换为image.PixelMap,设置给底图的marker?

  1. 现有如图片的功能,需要实现,如何实现?
  2. 尝试把文字样式组件转为PixelMap,然后设置给marker;但使用了componentSnapshot.createFromBuilder()api,在builder函数设置了一个当前页面未加载过的组件,此api无回调,不能正常返回PixelMap;我如何正确获取到组件对应的PixelMap,是否有其他方式?
阅读 691
1 个回答

目前将组件转化为pixelMap的方式只有组件截图componentSnapshot,但是该接口规格是只能截取已经渲染的组件,如果组件还没渲染则会截取失败。

1)系统提供组件截图API,可以获取自定义组件的PixelMap,https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-arkui-componentsnapshot-0000001774121118

2)PixelMap可以编码成PNG格式图片(https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V2/image-encoding-0000001630145941-V2

3)使用base64编码格式的图片自定义marker的icon,开发者可以借助此接口实现自定义绘制的marker。如果在地图上绘制多个marker(marker中的icon通过componentSnapshot.createFromBuilder生成)或者删除创建marker比较频繁,不超过几万个对性能影响不大。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进