未定义颤振'LatLng'



我正在用 Flutter 中的传单迈出我的第一步,所以欢迎耐心和教程的 URL 等。

我能找到的每一段示例代码都给了我这个错误:

方法"LatLng"未为类型"_MyHomePageState"定义。 尝试将名称更正为现有方法的名称,或定义名为"LatLng"的方法。

例如,请参阅如何在颤振中设置中心((传单映射的答案,其中包含一些非常简单的代码。

这部分代码

new FlutterMap(
mapController: _mapController,
options: MapOptions(
minZoom: _minzoom,
maxZoom: _maxzoom,
center: LatLng(mylatitude,mylongitude),    <=== error here
),   

给了我错误。

我在从互联网上复制的几个代码示例上遇到了同样的错误。可能是因为我使用的是最新版本的软件包,而这些是旧帖子吗?

我正在使用

dependencies:
flutter_map: ^0.9.0

根据安装文档,但也许我找到的所有演示都使用了更早的东西?

我对 https://github.com/johnpryan/flutter_map 的代码也有同样的问题。

它一定是非常基本的东西,但是,正如我所说,我才刚刚开始。尽管熟悉AngularJs中的传单,但我还是被难住了。

我的问题是什么,在哪里可以找到一个好的、深入的、功能齐全的教程?

[更新] 我已经完全卸载了Visual Studio Code(使用Revo Uninstaller Pro,它会彻底搜索注册表和文件系统中的剩余内容。重新安装 VSC 并仅添加 Flutter 插件后,我仍然遇到问题。

我还安装了Android Studio,只安装了Flutter插件,结果相同:-(

像下面这样导入 Latlong:

import "package:latlong/latlong.dart" as latLng;

现在你可以用latLng别名调用Latlong


new FlutterMap(
mapController: _mapController,
options: MapOptions(
minZoom: _minzoom,
maxZoom: _maxzoom,
center: latLng.LatLng(mylatitude,mylongitude),   
),   

我有类似的项目,它实现了类似于传单地图的MapBox地图,请查看,这是链接:

https://github.com/TheKetan2/covid19_flutter_app

对于 0.13.1 及更高版本的flutter_map,此行应该有效

import 'package:latlong2/latlong.dart' as latLng;

然后,您可以使用别名调用 LatLng,

FlutterMap(
options: MapOptions(
center: latLng.LatLng(51.5, -0.09),
zoom: 13.0,
),
layers: [
TileLayerOptions(
urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
subdomains: ['a', 'b', 'c']
),
MarkerLayerOptions(
markers: [
Marker(
width: 80.0,
height: 80.0,
point: latLng.LatLng(51.5, -0.09),
builder: (ctx) =>
Container(
child: FlutterLogo(),
),
),
],
),
],

(;

latlong2 包使它更加直接。

LatLng而不是latLng.LatLng降低了人为错误的风险。 只需添加:

dependencies:
latlong2: ^0.8.0

import 'package:latlong2/latlong.dart';

为了帮助您入门,您还可以获得以下选项:

import 'package:latlong2/latlong/Circle.dart';
import 'package:latlong2/latlong/Distance.dart';
import 'package:latlong2/latlong/LatLng.dart';
import 'package:latlong2/latlong/LengthUnit.dart';
import 'package:latlong2/latlong/Path.dart';
import 'package:latlong2/latlong/calculator/Haversine.dart';
import 'package:latlong2/latlong/calculator/Vincenty.dart';
import 'package:latlong2/latlong/interfaces.dart';
import 'package:latlong2/spline.dart';
import 'package:latlong2/spline/CatmullRomSpline.dart';

依赖关系: google_maps_flutter: ^2.1.8 flutter_polyline_points: ^1.0.0

正确添加这些包。

最新更新