static Future<bool> gotoAMap(PageDatum data) async {
? ? var sUrl = Uri.encodeComponent("|");
? ? LatLng fromLatLng = LatLng(double.parse(data.traveInfo.first.locationY),
? ? ? ? double.parse(data.traveInfo.first.locationX));
? ? LatLng toLatLng = LatLng(double.parse(data.traveInfo.last.locationY),
? ? ? ? double.parse(data.traveInfo.last.locationX));
? ? String fromName = Uri.encodeComponent(data.traveInfo.first.name);
? ? String toName = Uri.encodeComponent(data.traveInfo.last.name);
? ? List vianLat = []; //途徑點latlng
? ? List vianLon = []; //途徑點longlng
? ? List vianName = []; //途徑點名
? ? if (data.traveInfo.length > 2) {
? ? ? data.traveInfo.removeAt(0);
? ? ? data.traveInfo.removeLast();
? ? ? data.traveInfo.forEach((element) {
? ? ? ? vianLat.add(element.locationY);
? ? ? ? vianLon.add(element.locationX);
? ? ? ? vianName.add(Uri.encodeComponent(element.name));
? ? ? });
? ? }
? ? String latString = vianLat.join(sUrl);
? ? String longString = vianLon.join(sUrl);
? ? String nameString = vianName.join(sUrl);
? ? var url = 'amapuri://drive/multiViaPointPlan/?sid=(null)&slat=${fromLatLng.latitude}&slon=${fromLatLng.longitude}&sname=$fromName&did=(null)&dlat=${toLatLng.latitude}&dlon=${toLatLng.longitude}&dname=$toName&dev=0&m=0&t=0&vian=${data.traveInfo.length}&vialons=$longString&vialats=$latString&vianames=$nameString';
? ? bool canLaunchUrl = await canLaunch(url);
? ? if (!canLaunchUrl) {
? ? ? ToastTool.instance.toast("請安裝高德地圖");
? ? ? return false;
? ? }
? ? await launch(url);
? ? return true;
? }
fromLatLngL: 起點經緯度
toLatLng: 終點經緯度
vian:途徑點數(shù)量
vialons:途徑點經度,字符串,多個以 | 間隔,
vialats:途徑點緯度害驹,字符串移国,多個以 | 間隔,
vianames:途徑點名字,字符串,多個以 | 間隔,
中文以及 | 要單獨編碼才能識別