Flutter 颤振:如何将经度和纬度转换为加号(开放位置代码),反之亦然
我刚刚开发了一个应用程序使用飞镖和颤振,我可以获得纬度和经度的位置。我的应用程序可以处理这个问题。但我想将这个经度和纬度转换为开放位置代码(plus代码),并在我的应用程序视图中显示相应的plus代码 另外,如果我为第二阶段输入plus代码,它将转换为经度和纬度 我被这种转变所困扰Flutter 颤振:如何将经度和纬度转换为加号(开放位置代码),反之亦然,flutter,dart,latitude-longitude,google-location-services,open-location-code,Flutter,Dart,Latitude Longitude,Google Location Services,Open Location Code,我刚刚开发了一个应用程序使用飞镖和颤振,我可以获得纬度和经度的位置。我的应用程序可以处理这个问题。但我想将这个经度和纬度转换为开放位置代码(plus代码),并在我的应用程序视图中显示相应的plus代码 另外,如果我为第二阶段输入plus代码,它将转换为经度和纬度 我被这种转变所困扰 如果有人在这里帮助我,我将不胜感激。我没有在上找到该软件包,因此您必须直接从GitHub使用我上面提到的库。它是由谷歌提供的,所以它应该是相当安全和维护良好的 为此,请将其添加到pubspec.yaml中,如下所示:
如果有人在这里帮助我,我将不胜感激。我没有在上找到该软件包,因此您必须直接从GitHub使用我上面提到的库。它是由谷歌提供的,所以它应该是相当安全和维护良好的 为此,请将其添加到
pubspec.yaml
中,如下所示:
dependencies:
flutter:
sdk: flutter
open_location_code:
git:
url: git://github.com/google/open-location-code.git
path: dart
然后,在您的代码中导入库时使用:
import 'package:open_location_code/open_location_code.dart' as olc;
要将lat&lon转换为plus代码,请执行以下操作(创建CodeArea对象):
要将plus代码解码为lat lon,请执行以下操作:
var codeFromPlusCode = olc.decode('849VCWG9+67GCC32');
print(codeFromPlusCode.toString());
// The above will print:
// CodeArea(south:37.425562, west:-122.08181201171875, north:37.42556204, east:-122.08181188964843, codelen: 15)
要访问lat&lon,您必须执行以下操作:
print('Lat: ${codeFromPlusCode.center.latitude}, Lon: ${codeFromPlusCode.center.longitude}');
请注意,在plus代码中对lat和lon对进行编码时,可以将长度限制为10。这将使代码更短,但定位精度更低:
var codeFromLatLonShorter = olc.encode(37.425562, -122.081812, codeLength: 10);
print(codeFromLatLonShorter.toString());
// The above will print '849VCWG9+67'
希望以上能有所帮助。这是一个。我没有在上找到该软件包,因此您必须直接从GitHub使用我上面提到的库。它是由谷歌提供的,所以它应该是相当安全和维护良好的 为此,请将其添加到
pubspec.yaml
中,如下所示:
dependencies:
flutter:
sdk: flutter
open_location_code:
git:
url: git://github.com/google/open-location-code.git
path: dart
然后,在您的代码中导入库时使用:
import 'package:open_location_code/open_location_code.dart' as olc;
要将lat&lon转换为plus代码,请执行以下操作(创建CodeArea对象):
要将plus代码解码为lat lon,请执行以下操作:
var codeFromPlusCode = olc.decode('849VCWG9+67GCC32');
print(codeFromPlusCode.toString());
// The above will print:
// CodeArea(south:37.425562, west:-122.08181201171875, north:37.42556204, east:-122.08181188964843, codelen: 15)
要访问lat&lon,您必须执行以下操作:
print('Lat: ${codeFromPlusCode.center.latitude}, Lon: ${codeFromPlusCode.center.longitude}');
请注意,在plus代码中对lat和lon对进行编码时,可以将长度限制为10。这将使代码更短,但定位精度更低:
var codeFromLatLonShorter = olc.encode(37.425562, -122.081812, codeLength: 10);
print(codeFromLatLonShorter.toString());
// The above will print '849VCWG9+67'
希望以上能有所帮助。这是一个。我在StackOverflow上找到了一个。请看这个:我在StackOverflow上找到了一个。请看这个: