Flutter 高德地图应用之一:将widget 转换成高德地图的maker 图标

本文介绍了作者如何通过Flutter与Canvas技术,结合GoogleMarkIcon思路,创建自定义图标并转换为高德地图可用的BitmapDescriptor,以实现在跨平台地图应用中使用自定义标记。

按:笔者刚刚开始学习flutter,起因是想做一个跨平台的地图应用,因此就开始学习flutter 和高德地图的结合应用。
本方法受到Google MarkIcon 代码的启发而成,大致思路是将widget 画在canvas上面,然后截屏,获得img,将img转换成dataByte,再利用高德有关函数将其转换成高德地图可用的icon。

生成dataByte的代码如下

import 'dart:math';
import 'dart:ui' as ui;
import 'dart:typed_data';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

class Tool {
   
   
 // The fowllong is from the source of mark_icon
  static Future<Uint8List> circleCanvasWithText({
   
   
    required Size size,
    required String text,
    double fontSize = 15.0,
    Color circleColor = Colors.red,
    Color fontColor = Colors.black,
    FontWeight fontWeight = FontWeight.w500,
  }) async {
   
   
    final ui.PictureRecorder pictureRecorder = ui.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值