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

网站模板优势扬州电子商务网站建设

网站模板优势,扬州电子商务网站建设,网站要什么备案,公司做网站设计要注意本文以同层渲染为例,介绍如何集成高德地图 完整代码见 Flutter 鸿蒙版 Demo 概述 Dart 侧 核心代码如下,通过 OhosView 来承载原生视图 OhosView(viewType: com.shaohushuo.app/customView,onPlatformViewCreated: _onPlatformViewCreated,creation…

本文以同层渲染为例,介绍如何集成高德地图

完整代码见 Flutter 鸿蒙版 Demo

概述

Dart 侧

核心代码如下,通过 OhosView 来承载原生视图

OhosView(viewType: 'com.shaohushuo.app/customView',onPlatformViewCreated: _onPlatformViewCreated,creationParams: const <String, dynamic>{'initParams': 'hello world'},creationParamsCodec: const StandardMessageCodec(),)

其中 viewType 为自定义的 ohosView 的名称,onPlatformViewCreated 为创建完成回调,creationParams 为创建时传入的参数,creationParamsCodec 为参数编码格式。

ArkTS 侧

这里面我们按照《如何使用PlatformView》中的示例操作,首先需要创建一个显示高德地图的视图,其核心代码如下:

完整文件 AmapWidgetFactory.ets


MapsInitializer.setApiKey("e4147e927a1f63a0acff45cecf9419b5");
MapViewManager.getInstance().registerMapViewCreatedCallback((mapview?: MapView, mapViewName?: string) => {if (!mapview) {return;}let mapView = mapview;mapView.onCreate();mapView.getMapAsync((map) => {let aMap: AMap = map;})
})
struct ButtonComponent { params: ParamscustomView: AmapWidgetView = this.params.platformView as AmapWidgetViewbuild() {Row() {MapViewComponent().width('100%').height('100%')}}
}

接下来创建一个 AmapWidgetFactory.ets

export class AmapWidgetFactory extends PlatformViewFactory {message: BinaryMessenger;constructor(message: BinaryMessenger, createArgsCodes: MessageCodec<Object>) {super(createArgsCodes);this.message = message;}public create(context: common.Context, viewId: number, args: Object): PlatformView {return new AmapWidgetView(context, viewId, args, this.message);}
}

最终需要创建一个 AmapWidgetPlugin.ets

export class AmapWidgetPlugin implements FlutterPlugin {getUniqueClassName(): string {return 'AmapWidgetPlugin';}onAttachedToEngine(binding: FlutterPluginBinding): void {binding.getPlatformViewRegistry()?.registerViewFactory('com.shaohushuo.app/customView', new AmapWidgetFactory(binding.getBinaryMessenger(), StandardMessageCodec.INSTANCE));}onDetachedFromEngine(binding: FlutterPluginBinding): void {}
}

插件创建好之后,记得在 EntryAbility 中注册插件

 this.addPlugin(new AmapWidgetPlugin())

需要注意的是,视图ID一定要两侧保持一致,如这里名为 ‘com.shaohushuo.app/customView’,否则无法正常显示

截图

参考资料

  • 如何使用PlatformView
  • PlatformView同层渲染新方案
http://www.dtcms.com/a/575692.html

相关文章:

  • 建设监理协会官方网站手机网站做多宽
  • 人才招聘网站建设wordpress怎么换图标
  • 网站可信认证多少钱长沙网络营销外包
  • 数字资产交易网站开发商城网站项目策划书
  • 如何做网站静态页面做诚信通谁给做网站
  • 产品做国外网站有哪些电脑网页设计代码模板
  • 设计师网站设计网页制作工具知乎
  • Linux系统 —— 基础命令1
  • 网站建设方案应该怎么做加强网站建设 实施政务公开
  • 北京建设集团网站高密网站建设价格
  • 没有营业执照可以建设网站百度突然搜不到网站
  • 花卉网站建设策划书wordpress 3d标签
  • 做户外商城网站wordpress建站说明
  • JSP 过滤器
  • 关于网站开发网页上传和网站发布临沂在线做网站
  • 网站建设公司使用图片侵权使用者有无责任村网通为每个农村建设了网站
  • 深圳市网站建设外包公司wordpress必须安装插件
  • 网站密码如何找回怎么注册公司名
  • 中国建筑集团公司官网天津seo培训班在哪里
  • 网站开发如何记账个人网站备案填写要求
  • php 数据库 wordpress微信seo是什么意思
  • 互助盘网站建设拼多多怎么设置关键词推广
  • 福建建设执业管理中心网站做桌面端还是网站
  • 做网站能挣钱吗wordpress 表格数据
  • 网站制作建设公司推荐邢台手机网站建设
  • 用dw制作个介绍家乡网站长沙网络公司app
  • 丹阳市制作网站新钥匙石家庄网站建设
  • 上海市建设工程安全质量监督总站网站哪个网站做欧洲旅游攻略好
  • 内部网站建设软件下载wordpress删除站点
  • 建设公司网站要注意什么手机网站无响应