hyzp_ybqx-Commit137:已经实现android版通过资产添加百度地图标识图标,并通过BMFText添加文本标识;IOS版则通过自定义 flutter_bmfmap_1.0.2 插件加载外部存储中的.png带文本的标识图标

master
WinUser01 4 years ago
parent eb03a6085d
commit 7dbf4f0901

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bmfbase/BaiduMap/bmfmap_base.dart'; import 'package:flutter_bmfbase/BaiduMap/bmfmap_base.dart';
import 'package:flutter_bmfmap/BaiduMap/bmfmap_map.dart'; import 'package:flutter_bmfmap/BaiduMap/bmfmap_map.dart';
@ -41,29 +43,62 @@ Future getListBMFMarker({List listDwinfo}) async {
int len = listDwinfo.length; int len = listDwinfo.length;
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
BMFMarker marker = BMFMarker( BMFMarker marker;
position: getBMFCoordinate(listDwinfo[i]["dwzb"]), if (Platform.isIOS) {
// title: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}', marker = BMFMarker(
title: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}', position: getBMFCoordinate(listDwinfo[i]["dwzb"]),
subtitle: 'test', // title: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}',
// identifier: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}', title: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}',
identifier: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}', subtitle: 'test',
// icon: 'assets/images/location.png', // identifier: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}',
identifier: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}',
// IOS
icon: "$g_myIconPathPre/${g_myIconPre}${i + 1}.png", // android使
// icon: '/data/user/0/com.example.hyzp_yibin_bmfmap/app_flutter/myIcons/myIcon01.png', // icon: 'assets/images/location.png',
/// , annotation viewannotation // IOS
/// centerOffsetview使view icon: "$g_myIconPathPre/${g_myIconPre}${i + 1}.png",
/// AndroidYSDK yOffset(int yOffset) // icon: '/data/user/0/com.example.hyzp_yibin_bmfmap/app_flutter/myIcons/myIcon01.png',
/// BMFMarker centerOffset
/// BMFText centerOffset BMFMarker /// , annotation viewannotation
/// BMFMarker /// centerOffsetview使view
centerOffset: BMFPoint(0, 0), /// AndroidYSDK yOffset(int yOffset)
// /// BMFMarker centerOffset
enabled: enable, /// BMFText centerOffset BMFMarker
draggable: dragable); /// BMFMarker
centerOffset: BMFPoint(0, 0),
//
enabled: enable,
draggable: dragable);
} else if (Platform.isAndroid) {
marker = BMFMarker(
position: getBMFCoordinate(listDwinfo[i]["dwzb"]),
// title: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}',
title: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}',
subtitle: 'test',
// identifier: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}',
identifier: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}',
// android使
icon: 'assets/images/location.png',
// IOS
// icon: "$g_myIconPathPre/${g_myIconPre}${i + 1}.png",
// icon: '/data/user/0/com.example.hyzp_yibin_bmfmap/app_flutter/myIcons/myIcon01.png',
/// , annotation viewannotation
/// centerOffsetview使view
/// AndroidYSDK yOffset(int yOffset)
/// BMFMarker centerOffset
/// BMFText centerOffset BMFMarker
/// BMFMarker
centerOffset: BMFPoint(0, 0),
//
enabled: enable,
draggable: dragable);
}
// FlutterBMFMarkerBMFMarkerID // FlutterBMFMarkerBMFMarkerID
// //
// //
@ -72,34 +107,36 @@ Future getListBMFMarker({List listDwinfo}) async {
g_map_BMFMarkerID_dwIndex[marker.getId()] = i; g_map_BMFMarkerID_dwIndex[marker.getId()] = i;
g_listBMFMarker.add(marker); g_listBMFMarker.add(marker);
// android // android
// g_listBMFText.add(BMFText( if (Platform.isAndroid) {
// // text: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}', g_listBMFText.add(BMFText(
// text: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}', // text: '${listDwinfo[i]["id"].toString()}${listDwinfo[i]["dwmc"]}',
// //- off_latitude, - off_longitude text: '${(i + 1).toString()}${listDwinfo[i]["dwmc"]}',
// //zoomLevel = 15 //- off_latitude, - off_longitude
// // 使 Provider EventBus //zoomLevel = 15
// // 使 Provider EventBus
// //https://time.geekbang.org/column/article/131890
// //,providereventBus //https://time.geekbang.org/column/article/131890
// // : Provider event_bus //,providereventBus
// // // : Provider event_bus
// // Flutter Provider //
// // position: getBMFCoordinate(listDwinfo[i]["dwzb"], // Flutter Provider
// // off_latitude: -0.0002 * g_zoomLevel * _scale, // position: getBMFCoordinate(listDwinfo[i]["dwzb"],
// // off_longitude: -0.00009 * g_zoomLevel * _scale), // off_latitude: -0.0002 * g_zoomLevel * _scale,
// position: getBMFCoordinate(listDwinfo[i]["dwzb"]), // off_longitude: -0.00009 * g_zoomLevel * _scale),
// //off_latitudeoff_longitude position: getBMFCoordinate(listDwinfo[i]["dwzb"]),
// bgColor: Colors.yellow, //off_latitudeoff_longitude
// fontColor: Colors.black, bgColor: Colors.yellow,
// fontSize: 35, fontColor: Colors.black,
// // typeFace: fontSize: 35,
// // BMFTypeFace(familyName: BMFFamilyName.sMonospace, textStype: BMFTextStyle.BOLD_ITALIC), // typeFace:
// typeFace: BMFTypeFace(familyName: BMFFamilyName.sMonospace, textStype: BMFTextStyle.BOLD), // BMFTypeFace(familyName: BMFFamilyName.sMonospace, textStype: BMFTextStyle.BOLD_ITALIC),
// alignY: BMFVerticalAlign.ALIGN_TOP, typeFace: BMFTypeFace(familyName: BMFFamilyName.sMonospace, textStype: BMFTextStyle.BOLD),
// alignX: BMFHorizontalAlign.ALIGN_LEFT, alignY: BMFVerticalAlign.ALIGN_TOP,
// rotate: 0.0, alignX: BMFHorizontalAlign.ALIGN_LEFT,
// zIndex: 99)); rotate: 0.0,
zIndex: 99));
}
} }
} }

@ -1,3 +1,4 @@
import 'dart:io';
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -694,21 +695,24 @@ Future getAllSumCll(String field, List listStatis) async {
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
// //
Future bmfInit() async { Future bmfInit() async {
g_myIconPathPre = await createDir(g_myIconDir); // IOS
print("g_myIconPathPre = $g_myIconPathPre"); if (Platform.isIOS) {
// g_myIconPathPre = /data/user/0/com.example.hyzp_yibin_bmfmap/app_flutter/myIcons g_myIconPathPre = await createDir(g_myIconDir);
print("g_myIconPathPre = $g_myIconPathPre");
int len = listDwinfoGetList2.length; // g_myIconPathPre = /data/user/0/com.example.hyzp_yibin_bmfmap/app_flutter/myIcons
for (int i = 0; i < len; i++) {
Widget iconWidget = await getIconWidget("${i + 1}" + listDwinfoGetList2[i]["dwmc"]); int len = listDwinfoGetList2.length;
ByteData byteData = await widgetToImage(iconWidget); for (int i = 0; i < len; i++) {
await saveImage(g_myIconDir, "${g_myIconPre}${i + 1}.png", byteData); Widget iconWidget = await getIconWidget("${i + 1}" + listDwinfoGetList2[i]["dwmc"]);
print("i = $i"); ByteData byteData = await widgetToImage(iconWidget);
if (i == len - 1) { await saveImage(g_myIconDir, "${g_myIconPre}${i + 1}.png", byteData);
// setState(() {}); print("i = $i");
// runApp(MyApp()); if (i == len - 1) {
// setState(() {});
// runApp(MyApp());
}
} }
} } else if (Platform.isAndroid) {}
} }
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////

Loading…
Cancel
Save