百度地圖的腦殘設計,附上代碼,爲後來的碼農們...

 

//百度地圖的腦殘設計,用Flutter添加多個BMFMarker時,必須在添加BMFMarker時本身保存ID,不然響應點擊時沒法肯定用戶點擊的是哪一個標籤java

//代碼不會返回,也沒有任何文檔說明,是花了一天時間搜索網絡無果,是本身翻江倒海摸索出來的
//附上代碼,爲後來的碼農們...git

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));
}
}
相關文章
相關標籤/搜索