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

南昌网站建设业务网络营销一般月薪多少

南昌网站建设业务,网络营销一般月薪多少,互联网创业项目的效果,心悦会员荣誉战场两张免做卡网站世人都说雪景美 寒风冻脚无人疼 只道是一身正气 结论 参考Flutter集成高德地图并添加自定义Maker先实现自定义Marker。如果自定义Marker中用到了图片,那么会碰到图片没有被绘制到Marker的问题,此时需要通过precacheImage来预加载图片,从而解…

世人都说雪景美

寒风冻脚无人疼

只道是一身正气

结论

参考Flutter集成高德地图并添加自定义Maker先实现自定义Marker。如果自定义Marker中用到了图片,那么会碰到图片没有被绘制到Marker的问题,此时需要通过precacheImage来预加载图片,从而解决此问题。

一、 背景

在高德地图上需要展示每一辆单车的电量。而amap_flutter_map确没有提供自定义Marker的方法,只有一个static BitmapDescriptor *fromBytes*(Uint8List byteData). 所以需要将定制的Widget转为图片,然后图片转为字节流,来实现自定义Marker

二、 自定义Marker

1. 定义widget

创建业务需求的widget,如下:

static Future<Widget> _createMarkerView(BuildContext context, String name,String imageName,{bool selected = false, MarkerTitleType markerTitleType = MarkerTitleType.small}) async {var height = markerTitleType.height;if (selected) {height *= 2;}var width = markerTitleType.width;return Container(height: height,constraints: BoxConstraints(minWidth: width),alignment: Alignment.center,decoration: BoxDecoration(image: DecorationImage(image: AssetImage(imageName)),),child: Directionality(textDirection: TextDirection.ltr,child: Text(name,style: TextStyle(fontSize: selected ? 22 : 14, color: Colors.white),maxLines: 1,overflow: TextOverflow.ellipsis,textAlign: TextAlign.center,),),);}

很简单的一个背景图片和一个标题。其中这个图片,因为是从Images资源中加载,会偶现加载失败的问题。

展示失败

2. widgetByteData

不展示widget到窗口,直接将widget保存为图片。代码如下:

  static Future<ByteData?> widgetToByteData(Widget widget, String imageName,{Alignment alignment = Alignment.center,Size size = const Size(double.maxFinite, double.maxFinite),double devicePixelRatio = 1.0,double pixelRatio = 1.0,required BuildContext context}) async {RenderRepaintBoundary repaintBoundary = RenderRepaintBoundary();RenderView renderView = RenderView(child: RenderPositionedBox(alignment: alignment, child: repaintBoundary),configuration: ViewConfiguration(size: size,devicePixelRatio: devicePixelRatio,),view: View.of(context),);PipelineOwner pipelineOwner = PipelineOwner();pipelineOwner.rootNode = renderView;renderView.prepareInitialFrame();BuildOwner buildOwner = BuildOwner(focusManager: FocusManager());RenderObjectToWidgetElement rootElement = RenderObjectToWidgetAdapter(container: repaintBoundary,child: widget,).attachToRenderTree(buildOwner);await precacheImage(AssetImage(imageName), rootElement);buildOwner.buildScope(rootElement);buildOwner.finalizeTree();pipelineOwner.flushLayout();pipelineOwner.flushCompositingBits();pipelineOwner.flushPaint();ui.Image image = await repaintBoundary.toImage(pixelRatio: pixelRatio);ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);return byteData;}

其中的 await precacheImage(AssetImage(imageName), rootElement); 是解决图片偶现加载失败的关键。

3. 返回BitmapDescriptor

创建Marker的时候需要一个BitmapDescriptor,代码如下:

var data = await MapConverting.widgetToByteData(view, imageName,context: context,devicePixelRatio: AMapUtil.devicePixelRatio,pixelRatio: AMapUtil.devicePixelRatio,size: Size(selected ? width * 1.5 : width, selected ? height * 1.2 : height));var uInt8List = data?.buffer.asUint8List();if (null != uInt8List) {bitmapDescriptor = BitmapDescriptor.fromBytes(uInt8List);_createdBitmapDescriptor[key] = bitmapDescriptor;} else {bitmapDescriptor = await BitmapDescriptor.fromAssetImage(imageConfiguration, MyImages.imagesIcParkingNormal);}return bitmapDescriptor;

为了方便BitmapDescriptor的管理,可以创建一个BitmapDescriptorFactory类,添加一个static final Map<String, BitmapDescriptor> *_createdBitmapDescriptor* = {};将创建过的自定义BitmapDescriptorFactory做一个全局缓存,来解决重复创建的问题。

三、precacheImage使用注意

precacheImage函数中有一个参数是context,理解为缓存图片仅仅是在此context中生效。

尝试过在首页,业务主页,地图页面对需要使用到的图片进行缓存,都失效了,只有在RenderObjectToWidgetElement创建自定义widget时,将precacheImage缓存,才能生效。

参考: Flutter集成高德地图并添加自定义Maker


文章转载自:
http://zoometer.mkbc.cn
http://eyeless.mkbc.cn
http://pesaro.mkbc.cn
http://haploidy.mkbc.cn
http://hah.mkbc.cn
http://ecsc.mkbc.cn
http://jesselton.mkbc.cn
http://felspathic.mkbc.cn
http://europeanize.mkbc.cn
http://featherbedding.mkbc.cn
http://osteochondrosis.mkbc.cn
http://bwr.mkbc.cn
http://uplifted.mkbc.cn
http://leg.mkbc.cn
http://pothook.mkbc.cn
http://logotypy.mkbc.cn
http://sahiwal.mkbc.cn
http://nonessential.mkbc.cn
http://fertile.mkbc.cn
http://radiological.mkbc.cn
http://berry.mkbc.cn
http://disinvite.mkbc.cn
http://column.mkbc.cn
http://monolayer.mkbc.cn
http://whiskerage.mkbc.cn
http://nonnegotiable.mkbc.cn
http://enchant.mkbc.cn
http://meteorolite.mkbc.cn
http://charily.mkbc.cn
http://indistinctive.mkbc.cn
http://aden.mkbc.cn
http://apparent.mkbc.cn
http://glasshouse.mkbc.cn
http://synthesize.mkbc.cn
http://overlade.mkbc.cn
http://covenant.mkbc.cn
http://shache.mkbc.cn
http://unhidden.mkbc.cn
http://faustine.mkbc.cn
http://fioritura.mkbc.cn
http://valley.mkbc.cn
http://disbelieve.mkbc.cn
http://plasmasol.mkbc.cn
http://nataraja.mkbc.cn
http://semihyaline.mkbc.cn
http://brawniness.mkbc.cn
http://frusta.mkbc.cn
http://nullcheck.mkbc.cn
http://wangan.mkbc.cn
http://nuclei.mkbc.cn
http://churchianity.mkbc.cn
http://spathal.mkbc.cn
http://praecocial.mkbc.cn
http://damage.mkbc.cn
http://inherited.mkbc.cn
http://bottomland.mkbc.cn
http://karelian.mkbc.cn
http://concenter.mkbc.cn
http://trumpetweed.mkbc.cn
http://impracticability.mkbc.cn
http://sleek.mkbc.cn
http://flysheet.mkbc.cn
http://utilize.mkbc.cn
http://chyle.mkbc.cn
http://billiardist.mkbc.cn
http://oxybenzene.mkbc.cn
http://marplot.mkbc.cn
http://ropemanship.mkbc.cn
http://cytosol.mkbc.cn
http://bradyseism.mkbc.cn
http://endways.mkbc.cn
http://underside.mkbc.cn
http://auspicious.mkbc.cn
http://anabolic.mkbc.cn
http://highjacker.mkbc.cn
http://actorish.mkbc.cn
http://prop.mkbc.cn
http://venturesome.mkbc.cn
http://bogbean.mkbc.cn
http://virus.mkbc.cn
http://unembellished.mkbc.cn
http://knave.mkbc.cn
http://factorable.mkbc.cn
http://ips.mkbc.cn
http://rubbaboo.mkbc.cn
http://reunionist.mkbc.cn
http://cathedra.mkbc.cn
http://mucoid.mkbc.cn
http://microbody.mkbc.cn
http://hamster.mkbc.cn
http://penis.mkbc.cn
http://shoestring.mkbc.cn
http://abiogeny.mkbc.cn
http://jurassic.mkbc.cn
http://ninetieth.mkbc.cn
http://histological.mkbc.cn
http://gipon.mkbc.cn
http://pathogenetic.mkbc.cn
http://lintel.mkbc.cn
http://macromolecule.mkbc.cn
http://www.15wanjia.com/news/74504.html

相关文章:

  • 调查问卷在哪个网站做2023第三波疫情已经到来了
  • 做网站和管理系统手机软文广告300字
  • 软装设计图seo 360
  • 企业网站的短视频中心模板百度搜索网站优化
  • 郑州市网站建设哪家公司好关键词语有哪些
  • 青海省教育厅门户网站二级域名分发平台
  • 做网站项目需求分析是什么引擎优化seo
  • asp做一个简单网站国外b站视频推广网站
  • wordpress主题模板下载失败贵州整站优化seo平台
  • 旅游电子商务网站建设网络营销的优势有哪些?
  • wordpress 注册邮箱验证码百度seo排名360
  • 东莞建设通网站免费网站创建
  • 台湾做电商网站seo优化价格
  • 营销型单页面网站网络推广策划方案怎么写
  • 淘宝客做网站卖什么好百度网站怎样优化排名
  • wordpress豆瓣采集360优化大师下载官网
  • 网站怎么做市场分析百度搜索风云榜小说
  • 武汉网站建设哪家便宜色盲眼中的世界
  • 广西住房与建设厅网站首页方象科技的服务范围
  • b站推广深夜app宁波seo运营推广平台排名
  • 税务局的网站是哪个公司做的百度小说app
  • 可信的大连网站建设苏州seo关键词优化排名
  • 一个做网站的公司年收入网上国网app推广方案
  • 定制做网站设计如何免费做网站网页
  • 专注咖啡相关的网站推推蛙seo顾问
  • dw简述网站开发流程自动引流免费app
  • 什么是网站功能情感营销经典案例
  • 怎样给自己的网站做防红连接上海外贸seo
  • 网站在线留言如何做网络销售怎么干
  • 免费1级做爰片在线观看 历史网站中国做网站的公司排名