首页 > 其他 > 详细

百度地图的脑残设计,附上代码,为后来的码农们...

时间:2021-02-17 10:29:11      阅读:65      评论:0      收藏:0      [点我收藏+]

 

//百度地图的脑残设计,用Flutter添加多个BMFMarker时,必须在添加BMFMarker时自己保存ID,否则响应点击时无法确定用户点击的是哪个标签

//代码不会返回,也没有任何文档说明,是花了一天时间搜索网络无果,是自己翻江倒海摸索出来的
//附上代码,为后来的码农们...

Future getListBMFMarker({List listDwinfo}) async {
if (null == listDwinfo) {
listDwinfo = listDwinfoGetList2;
}

int len = listDwinfo.length;
for (int i = 0; i < len; i++) {
BMFMarker marker = BMFMarker(
position: getBMFCoordinate(listDwinfo[i]["dwzb"]),
title: ‘${listDwinfo[i]["id"].toString()}、${listDwinfo[i]["dwmc"]}‘,
subtitle: ‘test‘,
identifier: ‘${listDwinfo[i]["id"].toString()}、${listDwinfo[i]["dwmc"]}‘,
icon: ‘assets/images/location.png‘,
/// 默认情况下, annotation view的中心位于annotation的坐标位置,
/// 可以设置centerOffset改变view的位置,正的偏移使view朝右下方移动,负的朝左上方,单位是像素
/// 目前Android只支持Y轴设置偏移量对应SDK的 yOffset(int yOffset) 方法
centerOffset: BMFPoint(100, 110),
//标记中心偏移
enabled: enable,
draggable: dragable);
//百度地图的脑残设计,用Flutter添加多个BMFMarker时,必须在添加BMFMarker时自己保存ID,否则响应点击时无法确定用户点击的是哪个标签
//代码不会返回,也没有任何文档说明,是花了一天时间搜索网络无果,是自己翻江倒海摸索出来的
g_map_BMFMarkerID_dwIndex[marker.getId()] = i;
g_listBMFMarker.add(marker);

g_listBMFText.add(BMFText(
text: ‘${listDwinfo[i]["id"].toString()}、${listDwinfo[i]["dwmc"]}‘,
position: getBMFCoordinate(listDwinfo[i]["dwzb"]),
//自己控制off_latitude、off_longitude效果不好
bgColor: Colors.yellow,
fontColor: Colors.black,
fontSize: 35,
typeFace: BMFTypeFace(familyName: BMFFamilyName.sMonospace, textStype: BMFTextStyle.BOLD),
alignY: BMFVerticalAlign.ALIGN_TOP,
alignX: BMFHorizontalAlign.ALIGN_LEFT,
rotate: 0.0,
zIndex: 99));
}
}

  

百度地图的脑残设计,附上代码,为后来的码农们...

原文:https://www.cnblogs.com/ybmj/p/14408263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!