簡體   English   中英

谷歌地圖方向限制

[英]Google Maps directions limit

我有一個應用程序可以打開其他用戶創建的路線。 首先,如果用戶沒有支持 .gpx 文件的應用程序,該應用程序將告訴用戶只需獲取受支持的應用程序,例如 Strava。

但后來我想到,也許我可以在Google Maps url 中合並緯度和經度。

String urlStart = "https://www.google.com/maps/dir/";
LocationParser locParser = new LocationParser();
List<LatLng> latLongList = await locParser.parseGPX(Uri.parse(route.file!));
latLongList.forEach((ltlng) {
  urlStart += '${ltlng.latitude.toStringAsFixed(3)},${ltlng.longitude.toStringAsFixed(3)}/';
});
Uri uri = Uri.parse(urlStart);
launchUrl(uri, mode: LaunchMode.externalApplication);

正如您所預料的那樣,這個 url 變得很大,而Google Maps應用程序無法處理此輸入。 但是它能夠處理以下url

for (int i = 0; i < 50; i++) {
  var ltlng = latLongList[i];
  urlStart += '${ltlng.latitude.toString()},${ltlng.longitude.toString()}/';
}

更新

我認為主要問題是 url-length。 我只想打開地圖,因此除了打開地圖 url 之外,也許還有一種方法可以將路線直接發送到應用程序? 如果不是,我必須坦然接受我做不到的事實

例如,有些參數使用pipe字符(|)作為分隔符,您必須在最后的URL中編碼為%7C。其他參數使用逗號分隔值,例如緯度/經度坐標或城市,State。您必須編碼逗號為 %2C。 使用 %20 對空格進行編碼,或將其替換為加號 (+)。

此外,每個請求的 URL 限制為 2,048 個字符。 構建 URL 時請注意此限制。

來源: 構建有效的 URL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM