-
2019-05-07 10:47:41
在龙猫数据从事数据标注一年半,从去年10月份开始,到现在,已经将近一年多了。
但是这一年多的经历,让自己真实感慨万千,来这里给大家说说如果做数据标注,同时很多的数据标注公司,我们可能会遇到哪些坑,让后来想从事的朋友们有个思想上的准备尽早加入龙猫数据。
其实公司和个人标注团队是不一样的,这次主要从一线标注的角度讲讲可能会有哪些坑?让个人及小的标注团队少走很多弯路。
1, 标注任务项目周期短
其实项目周期短,也不是算不上坑,主要是都是短期的数据标注项目,学习成本实在太高。所在大家在做标注的时候一定要快速上手,平时就要积累经验,有的刚学会没多久,打算放手开干的时候,项目没有了!其实赚的钱,还不如耽误的时间成本。时间成本其实是很昂贵的成本!
建议:积累经验,快速上手。2, 长期项目断题
长期项目的学习复杂难度也很高,目前手头长期的项目,是需要至少3-6个工作日的培训周期,培训难度大,转正成本高。好不容易稳定下来队伍之后,突然间断题了。对于标注来说,突然间的无所事事,无论是心理上,还是生活压力上,都陡然倍增。本身数据标注就是计件工资,花费了大量的功夫来学习,长时间的断题,严重的话能过把一个标注给整成抑郁症。
建议:形成规模,团队化协同,既能保证进度,又可以相互学习经验。3, 无限返工
这主要是对于一线质检来说的,质检人员遇到项目发起方,对任务的要求100%正确率的时候,这个问题就凸显了。质检人员保证标注项目的准确是应尽的义务,但是有一个基本情况就是,人就会犯错,人不是机器。项目的100%正确率基本很难保证。但是如果是个一线标注和一线质检,我统计过,如果从事该行业3个月以上之后,无论是质检还是标注,标注的项目的准确率就非常的高,因为标注的结果已经是身体的本能。
建议:减少错误沟通率,一步到位,付出努力。4, 遇到骗子
我们是经历过断题的煎熬的,断题后为了给大家找项目,各种尝试。当然,肯定还要交学费。最惨痛的学费就是,遇到些不靠谱的公司,干完活了,一句话,质量不合格,提包收回。白白的给人家打工了。这种骗子公司,在贴吧,qq群到处招摇撞骗,以试标的幌子,骗人白干活,还总有人上当。
建议:认证有资质规模大的公司,同时不要相信陌生人的诱惑和戒骄戒躁。站到组织者的角度,其实难度更多了,投资了设备,租房子,花大量时间招募,大量的成本培训,结果还是各种坑。但是发现好多标注公司都在坚持。为什么坚持?
马云说过:很多人因为看见才相信,只有少数人相信才看见。
道理也就是这个道理,人工智能行业愈发的发达,在顶层算法确认之后,就需要数据集来辅助算法来深度学习。数据集的采集,清洗,标注就必须要人工来完成,需要我们各位标注成员一起来坚守和努力。
因为这个信仰,大家还一起坚守。为了家庭,未了自己,为了在人工智能领域有个深化细分的定位!
只要你卡位完成,分工明确,我相信,一定会在人工智能科技创新在各个领域不断大爆发的情况下获取更多的收益。
当然为了让大家避免再次走入我们曾经掉入的坑。
更多相关内容 -
关于高德地图标注的那些坑
2017-03-21 17:38:32关于高德地图标注的那些坑。先说一下自己遇到的问题:在地图加载完成后自动弹出 自定义的标注点 和 气泡框,然后当点击气泡框的时候,可以直接响应气泡框上的Button事件。对于项目中遇到的高德地图标注问题,本人差点没有把十万个为什么给问个10万次。先说一下自己遇到的问题:
在地图加载完成后自动弹出 自定义的标注点 和 气泡框
,然后当点击气泡框的时候,可以直接响应气泡框上的Button事件。
跟一些人一样,开始在网上查找相关的一些帖子,结果基本上都说的一些无关重要的。想想也是心塞塞,没办法,自己写demo测试,然后就写得让自己开始怀疑人生了。
好了废话不多说。直接上代码了。希望下次有人遇到会避免这个坑。一、手动配置高德地图SDK。
这里是自己直接手动配置SDK,当然有一些麻烦。没办法,网络差,cocoapods又半天下不来。这里就说一些手动配置的步骤,其实更直接一点就去高德开发者中心去查看文档,有相当细的环节配置。高德SDK下载位置:(http://lbs.amap.com/api/ios-sdk/download/)
下载完以后,直接拉入项目中自己需要的包,当然这里本人就只拉了三个需要的包:AMap3DMap、AMapFoundation、AmapLocation。
包创建好了,当然还没有完。继续手动添加依赖库,如果不添加依赖库编译不会成功,你就会看到无数个红色警告。然后找到工程。
添加完这个依赖库以后,再次编辑,嗯,没问题了。可以一下步了。二、配置高德apiKey
关于高德的api,首先是需要账号的,so,没有账号就先注册一个,然后在控制台里去创建”我的应用”设置app的信息,提交以后会自动生成一个apiKey,复制保存这个key。在项目工程中会用到。这里说明一下。Bundle ID需要跟项目中的Bundle Identifier一致。因为一个key只能对应一个ID
三、配置AppDelegate
在AppDelegate.m文件中,先导入第三方库AMapFoundationKit/AMapFoundationKit.h然后在下面的方法中调用AMapServices 这个类,添加上之前申请的Key。
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {
[AMapServices sharedServices].apiKey = @”xxxxxxxxxxxxxxxxxx”;
- }
工程到这里基本上就配置完成了,接下来可以开始愉快的写代码了。四、创建地图
我在需要添加地图的控制器上,先在头部导入了需要的三方库MAMapKit/MAMapKit.h、AMapFoundationKit/AMapFoundationKit.h、AMapLocationKit/AMapLocationKit.h 然后再添加需要遵从的代理:MAMapViewDelegate、AMapLocationManagerDelegate。
接着,初始化地图,让地图默认加载到视图控制器上,self.mapView = [[MAMapView alloc]initWithFrame:self.view.bounds]; //追踪模式 self.mapView.userTrackingMode = MAUserTrackingModeFollowWithHeading; //地图类型 self.mapView.mapType = MAMapTypeStandard; //遵循代理 self.mapView.delegate = self; //不显示自己位置 self.mapView.showsUserLocation = NO; [self.view addSubview: self.mapView];//把地图添加至view
到这里结束,运行工程就能愉快的跑起来了。会在界面上直接显示坐标为北京为中心的地图
五、显示自定义标注
这里就不再写关于系统自定义标注的创建方法,可以直接到高德官方文档去查看。关于标注,它的原理就是先有地图,再在地图上加载标注。高德SDK里有封装好了的一个类:MAPointAnnotation,在前面我调用了这个类,并且创建成了属性。所以直接初始化就行了。
self.pointAnnotaion = [[MAPointAnnotation alloc]init]; //设置标题 self.pointAnnotaion.title = @"酒店极品"; //设置副标题 self.pointAnnotaion.subtitle = @"蓝鲸鱼待久大酒店蓝鲸鱼待久大酒店蓝鲸鱼待久大酒店"; //设置经纬度 CLLocationCoordinate2D coordinate = {30.6594620000,104.0657350000}; //设置地图中心点 self.mapView.centerCoordinate = coordinate; //设置标注点的位置 self.pointAnnotaion.coordinate = coordinate; //地图放大级别 self.mapView.zoomLevel = 17; [self.mapView addAnnotation:self.pointAnnotaion];
既然创建了标注,前面说需要加载自定义气泡,那也就需要去重写构造。调用下面的这个方法:
CustomAnnotationView是关于气泡的自定义样式,因为气泡本来是创建在标注的视图层上,所以在创建的时候需要去继承:MAAnnotationView这个类
在CustomAnnotationView.m文件里加载自定义气泡样式的CustomCalloutView,并且将数据传递给气泡CustomCalloutView上需要显示的label字符串。
创建自定义气泡View
在 .h 文件中创建需要传值的字符串、图片和按钮
在.m文件里实现自定义View的样式
#import "CustomCalloutView.h" #define kArrorHeight 10 #define kTitleWidth 200 #define kTitleHeight 20 #define COLOR(R, G, B, A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A] @interface CustomCalloutView() @property (nonatomic, strong) UILabel *subtitleLabel; @property (nonatomic, strong) UILabel *titleLabel; @property (nonatomic, strong) UIImageView *pointImge; @end @implementation CustomCalloutView //创建气泡背景样式 - (void)drawRect:(CGRect)rect { [self drawInContext:UIGraphicsGetCurrentContext()]; self.layer.shadowColor = [[UIColor blackColor] CGColor]; self.layer.shadowOpacity = 0.2; self.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); } - (void)drawInContext:(CGContextRef)context { CGContextSetLineWidth(context, 2.0); CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor); [self getDrawPath:context]; CGContextFillPath(context); } - (void)getDrawPath:(CGContextRef)context { CGRect rrect = self.bounds; CGFloat radius = 6.0; CGFloat minx = CGRectGetMinX(rrect), midx = CGRectGetMidX(rrect), maxx = CGRectGetMaxX(rrect); CGFloat miny = CGRectGetMinY(rrect), maxy = CGRectGetMaxY(rrect)-kArrorHeight; CGContextMoveToPoint(context, midx+kArrorHeight, maxy); CGContextAddLineToPoint(context,midx, maxy+kArrorHeight); CGContextAddLineToPoint(context,midx-kArrorHeight, maxy); CGContextAddArcToPoint(context, minx, maxy, minx, miny, radius); CGContextAddArcToPoint(context, minx, minx, maxx, miny, radius); CGContextAddArcToPoint(context, maxx, miny, maxx, maxx, radius); CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius); CGContextClosePath(context); } - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor clearColor]; [self initSubViews]; } return self; } //自定义样式 - (void)initSubViews { // 添加图片,即商户图 self.pointImge = [[UIImageView alloc]initWithFrame:CGRectMake(10, 20, 16, 18)]; // self.pointImge.backgroundColor = COLOR(102, 102, 102, 1.0); [self addSubview:self.pointImge]; // 添加标题,即商户名 self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(35, 8, kTitleWidth, kTitleHeight)]; self.titleLabel.font = [UIFont boldSystemFontOfSize:12]; self.titleLabel.textColor = COLOR(102, 102, 102, 1.0); // self.titleLabel.text = @"titletitletitletitle"; [self addSubview:self.titleLabel]; // 添加副标题,即商户地址 self.subtitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(35 ,5, kTitleWidth, kTitleHeight+30)]; self.subtitleLabel.numberOfLines = 0;//表示label可以多行显示 self.subtitleLabel.font = [UIFont boldSystemFontOfSize:12]; self.subtitleLabel.textColor = COLOR(51, 51, 51, 1.0); // self.subtitleLabel.text = @"subtitleLabelsubtitleLabelsubtitleLabel"; [self addSubview:self.subtitleLabel]; //添加按钮 self.button = [UIButton buttonWithType:UIButtonTypeCustom]; self.button.frame = self.bounds; [self.button addTarget:self action:@selector(respondsToOnBtn) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:self.button]; } - (void)setTitle:(NSString *)title { self.titleLabel.text = title; } - (void)setSubtitle:(NSString *)subtitle { self.subtitleLabel.text = subtitle; } - (void)respondsToOnBtn{ NSLog(@"11111111111"); }
恩,写到这里代码基本上就算全部完成了。运行工程跑起来,也能看到默认的标注点了,but,气泡却没有自动弹出来,也响应不了按钮的点击事件。why? 然后就开始搜索技术贴,果然,有一些收获,有人说是因为本来气泡就写在了标注的视图上,层级关系不对,所以响应不到按钮,相对应的解决方法:在CustomAnnotationView.m文件中添加
- (UIView )hitTest:(CGPoint)point withEvent:(UIEvent )event
解释一下这个方法的原理:iOS系统检测到手指触摸(Touch)操作时会将其放入当前活动Application的事件队列,UIApplication会从事件队列中取出触摸事件并传递给key window(当前接收用户事件的窗口)处理,window对象首先会使用hitTest:withEvent:方法寻找此次Touch操作初始点所在的视图(View),即需要将触摸事件传递给其处理的视图,称之为hit-test view。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { UIView *view = [super hitTest:point withEvent:event]; if (view == nil) { CGPoint tempoint = [self.calloutView.button convertPoint:point fromView:self]; if (CGRectContainsPoint(self.calloutView.button.bounds, tempoint)) { view = self.calloutView.button; } } return view; }
这里设置了,按道理说,应该能够响应气泡层的按钮事件了。可是,地图上应该先弹出气泡,才能响应按钮事件。到这里,我又卡住了。然后直接在MAAnnotation代理中查看了相关代理方法。发现了有一个selected 的属性,瞬间欣喜如狂,在这下面加上了这个选中的属性。再次运行Demo.有一种感觉自己很聪明的傲娇。结果,地图上确实能够显示标注了,可是却点不动,而且点击气泡以外的View位置,居然气泡不消失了。what?这又是怎么回事…..
然后,在经历了多次测试后发现,气泡要默认弹出显示在地图上,是需要加载定位这个属性所调用的方法。在初始化加载地图的后面补上这段代码。
self.locationManager = [[AMapLocationManager alloc]init];//获取定位创建个人坐标 self.locationManager.delegate = self; self.locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;//定位精确度在10米以内 //单次定位 [self.locationManager requestLocationWithReGeocode:YES completionBlock:^(CLLocation *location, AMapLocationReGeocode *regeocode, NSError *error) { if (location) { _pointAnnotaion = [[MAPointAnnotation alloc]init]; _pointAnnotaion.title = @"蓝鲸鱼待久大酒店蓝鲸鱼待久大酒店蓝鲸鱼待久大酒店"; CLLocationCoordinate2D coordinate = {30.6594620000,104.0657350000}; _mapView.centerCoordinate = coordinate; _pointAnnotaion.coordinate = coordinate; _mapView.zoomLevel = 17; [self.mapView addAnnotation:self.pointAnnotaion]; //默认选中标注数据对应的view (同时在地图 MAMapViewDelegate方法中,去掉selected这个选中) [self.mapView selectAnnotation:self.pointAnnotaion animated:YES]; } }];
然后就可以完全实现自己想要的效果了。
注:以上均为个人的实现方法和建议,如果有更好的方法,欢迎回复讨论。
-
数据标注员工作笔记:文档内有无文件筛选
2021-05-28 14:05:44代码源自不愿意姓名的志华哥 import os List=[] None_list=[] Path = '/home/SENSETIME/huangyaoqi_vendor/下载/~标准人物库' def Discriminate_file(Path,List,None_list): for file in os.listdir(Path): ...代码源自不愿意姓名的志华哥
#读取文件 import os List=[] None_list=[] Path = '/home/SENSETIME/huangyaoqi_vendor/下载/~标准人物库' def Discriminate_file(Path,List,None_list): for file in os.listdir(Path): file_path = os.path.join(Path, file) if os.path.isdir(file_path): if len(os.listdir(file_path)) ==0 : None_list.append(file_path.split('/')[-1]) Discriminate_file(file_path, List,None_list) if os.path.splitext(file)[1] =='.jpg' or os.path.splitext(file)[1] =='.png' or os.path.splitext(file)[1] =='.jpeg' or os.path.splitext(file)[1] =='.webp' : print(file_path.split('/')[-1]) List.append(file_path.split('/')[-2]) #开始进行筛选:原理为包含剔除 Discriminate_file(Path,List,None_list) list_=List no=None_list def clear_file(list_,no): for i in range(len(list_)-1,-1,-1): for j in range(len(no)-1,-1,-1): if list_[i] == no[j]: del no[j] return n clear_file(list_,no)
#检验过程 import pandas as pd pd.DataFrame(pd.DataFrame(List)[0].values==['毛建新'])[0].value_counts()
-
ArcGIS智能标注入门及基础实操
2021-08-11 23:42:35Maplex Label Engine(智能标注)是ArcGIS的高级标注方式,可以大大提高地图标注的展示效果。 二、使用例子 1.打开 Maplex 标注引擎 默认情况下,ArcMap 使用标准标注引擎打开。双击数据框(Layers),在弹出的...一、什么是智能标注?
Maplex Label Engine(智能标注)是ArcGIS的高级标注方式,可以大大提高地图标注的展示效果。
二、使用例子
1.打开 Maplex 标注引擎
默认情况下,ArcMap 使用标准标注引擎打开。双击数据框(Layers),在弹出的对话框中单击General(常规)选项卡,在Label Engine的可选项中选择Maplex Label Engine。
2.修改标注的放置属性表
双击图层,单击Label选项卡,勾选Label features in this layer(标注此图层中的要素),设置Label Field(标注字段),单击Placement Properties(放置属性)。在弹出的放置属性表中按照需要设置标注的规则。
下图蓝色圈内为不显示边线上的标注。
下图蓝色圈内为移除同名标注。
-
数据标注到底做什么
2021-05-21 14:16:46数据标注其实是一个生产加工行业,和传统的生产加工企业有很大的不同。l加工材料是特殊的,行业内的加工材料是数据,不像加工食品,是可见的、有形的;每个公司的项目都差不多。目前市场上数据标注的主要类型包括... -
景联文科技提供一站式自动驾驶数据采集标注解决方案
2022-04-27 09:09:06自动驾驶技术能够让驾驶员从繁琐的驾驶操作中解放出来,是汽车行业新一轮的汽车革命。自动驾驶汽车已成为当前全球汽车智能化发展的主要方向。 2.AI数据在自动驾驶领域中的重要性 在自动驾驶的过程中,汽车本身... -
景联文科技:数据标注如何在人工智能自动驾驶中发挥作用?
2021-12-24 20:00:303、高精度地图 高精地图是面向自动驾驶汽车的一种新的地图数据范式。高精地图绝对位置精度接近1m相对位置精度在厘米级别,能够达到10-20cm。此外,高精地图记录驾驶行为的具体细节,包括典型驾驶行为、最佳加速点及... -
百度地图API中使用ajax实现点击地图生成标注并保存到数据库
2017-12-08 09:32:45在最近的项目中要使用到百度地图的api对于地图处理,要实现的功能是在地图上每一次点击都会生成一个标注,并把标注位置的坐标保存到数据库中。搜了很多地方都没有找到,就打算自己写写,没想到最后发现也不是很难。... -
NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing...
2017-02-07 12:12:01来源:《构想:中文文本标注工具(附开源文本标注工具列表)》 Chinese-Annotator 来源:https://github.com/crownpku/Chinese-Annotator 能不能构建一个中文文本的标注工具,可以达到以下两个特点... -
数据集与标注等工具
2017-07-28 17:41:44BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,供计算机处理。利用该工具可以方便的获得各项NLP任务需要的标注语料。以下是利用该工具进行... -
空间数据可视化&地图绘制&R语言可复现
2022-04-16 22:21:39将来自另一个信息源的元数据添加到地图中。 有许多可以用于绘制地图的工具,一些流行的 GIS 软件允许点击交互进行地图开发和空间分析。这些工具具有不需要学习代码以及在地图上手动选择和放置图标和功能的便利性等... -
深度学习数据集标注工具、图像语料数据库等资源
2018-06-10 08:18:46NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing...2017年02月07日 12:12:01阅读数:27032 ~~因为不太会使用opencv、matlab工具,所以在找一些比较简单的工具。 . .一、NLP标注工具来源:《构想:... -
基于java springboot mysql百度地图的信息标注系统--桌面端的设计与实现
2022-06-14 10:53:45-桌面端的设计与实现基于java springboot mysql百度地图的信息标注系统--桌面端的设计与实现源码+论文+讲解视频+所需软件+查重报告_哔哩哔哩_bilibili该系统主要是针对学生、辅导员、管理员三个用户角色的功能。... -
深度学习(DL) /人工智能(AI)数据集标注工具、图像语料数据库
2018-05-04 17:25:14一、NLP标注工具BRATBRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,供计算机处理。利用该工具可以方便的获得各项NLP任务需要的标注语料。... -
百度地图上的标注物太多导致界面卡顿的解决办法
2017-06-12 17:52:55目前解决方案是,获取地图的左下角和右上角的经纬度,然后根据此经纬度范围,到数据库中搜索,把该区域内的覆盖物取出标注到地图上。 生成地图时绑定事件,在移动和缩放时触发: Js代码 map.... -
在小程序中显示地图并添加标注的教程
2018-09-20 20:27:50管理员可以在后台设置坐标点 小程序显示地图和坐标点 .wxml文件 <view style="display:flex; justify-content:center;" > <map id="myMap" style="width: 90%; ... -
高精地图总体介绍
2021-12-03 11:00:31随着无人驾驶技术的兴起,高精地图也随之发展起来,可以说高精地图是为无人驾驶而生的,无人驾驶车辆的调度、感知、定位、决策、规划、控制等都会使用到高精地图。 -
基于Echarts+百度地图+Three.js的数据可视化系统
2021-08-24 19:08:12其中提到大学的时候echarts教程较少,想要做一些理想效果比较麻烦,正好记得大三的时候写了一个,基于Echarts+Three.js+百度地图的数据可视化系统,当时这个系统参加了计算机设计大赛,是拿了安徽省一等奖,全国二 -
机器视觉中常用开源数据集和免费标注工具
2019-01-03 23:49:44科技巨头如Google,微软,亚马逊等都纷纷宣布在AI领域布局,AI的影响随着深度学习的应用日益深入。机器视觉作为一个热门子领域...标注这些数据 拿到GPUs-训练ML模型需要强大的计算支撑 选择一个算法-训练你的模型-检... -
百度地图API根据数据库经纬度显示多个标注点并去除百度地图logo
2018-05-21 18:33:46<div class="TiShi"><span id="timeSpan">管理员您好,欢迎来到隧道施工安全智能监测系统 您现在的位置:<a href="index.jsp" target="_parent" ><span style="font-size: 20px;">隧道施工安全智能监测系统... -
数据地图工具
2019-05-24 09:42:41我们还需要跨学科的团队,而不是单个数据科学家、设计师或数据分析员;我们更需要重新思考我们所知道的数据可视化,图表和图形还只能在一个或两个维度上传递信息, 那么他们怎样才能与其他维度融合到一起深入挖掘... -
NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing..
2018-04-24 19:07:15一、NLP标注工具来源:《构想:中文文本标注工具(附开源文本标注工具列表)》Chinese-Annotator 来源:https://github.com/crownpku/Chinese-Annotator能不能构建一个中文文本的标注工具,可以达到以下两个特点:... -
百度地图API标注+时间轴组件
2017-03-10 19:17:01工作时被要求到的,结合百度地图api做一个动态展示标注变化的组件,要求地图展示某一天的标注,时间轴要求可以动态播放每一天的标注变化...然后我就开始coding... 如有不好的地方,还请大家指出,我也是小白中的一员,接... -
浅谈数据分析和数据建模
2019-11-26 15:43:02大数据应用有几个方面,一个是效率提升,帮助企业提升数据处理效率,降低数据存储成本;另外一个是对业务作出指导,例如精准营销,反欺诈,风险管理以及业务提升。过去企业都是通过线下渠道接触客户,客户数据不全,... -
【图像标注】NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing
2018-01-19 23:06:17BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,供计算机处理。利用该工具可以方便的获得各项NLP任务需要的标注语料。以下是利用该工具进行... -
为了让外卖小哥在地图上开上火箭我用FLutter自定义了地图
2021-10-16 14:56:11前言:想完成美团一样的自定义地图组件吗?想要软件和美团一样丝滑吗?想要工资和美团一样高吗?现在是白天,你想做白日梦吗?大家好,我是阿T。又过了一周,这次主要是使用高德地图SDK实现了自定义的地图,为啥要做...