在地图上绘制多段线
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。

此示例显示了北大西洋的地图,其中绘制了泰坦尼克号的航线。
开始使用
您必须先配置开发环境,然后才能试用该示例代码。如需了解详情,请参阅设置 Flutter 项目。
查看代码
Dart
// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
/// Displays a map of the North Atlantic Ocean with the route of the Titanic
/// marked on it.
class PolylinesSample extends StatelessWidget {
const PolylinesSample({super.key});
@override
Widget build(BuildContext context) {
return GoogleMap(
initialCameraPosition: CameraPosition(target: LatLng(49, -23)),
polylines: {
Polyline(
// Polyline id must be unique.
polylineId: PolylineId('titanic route'),
points: [
LatLng(50.90, -1.41), // Southampton
LatLng(49.65, -1.60), // Cherbourg
LatLng(49.77, -6.71),
LatLng(51.83, -8.28), // Cobh
LatLng(50.96, -8.58),
LatLng(41.75, -49.90), // Wreck
],
width: 5,
color: Colors.red,
geodesic: true,
// Custom caps and joint types aren't supported on all platforms.
startCap: Cap.roundCap,
endCap: Cap.roundCap,
jointType: JointType.round,
consumeTapEvents: true,
onTap: () => debugPrint('clicked route'),
),
},
);
}
}
后续步骤
在 GitHub 上查看完整的示例集:
在 GitHub 上查看
或者,您也可以通过执行以下命令克隆完整的示例集,以便在本地运行这些示例:
git clone -b flutter_samples https://github.com/googlemaps-samples/flutter-maps-samples.git
cd flutter-samples
flutter pub get
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-29。
[null,null,["最后更新时间 (UTC):2025-08-29。"],[],[],null,["# Draw polylines on a map\n\nThis example displays a map of the North Atlantic Ocean with the route of the Titanic drawn on it.\n\nGet started\n-----------\n\nBefore you can try the sample code, you must configure your development environment.\nFor more information, see [Set up a Flutter project](/maps/flutter-package/config).\n\nView the code\n-------------\n\n### Dart\n\n```python\n// Copyright 2025 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// https://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport 'package:flutter/material.dart';\nimport 'package:google_maps_flutter/google_maps_flutter.dart';\n\n/// Displays a map of the North Atlantic Ocean with the route of the Titanic\n/// marked on it.\nclass PolylinesSample extends StatelessWidget {\n const PolylinesSample({super.key});\n\n @override\n Widget build(BuildContext context) {\n return GoogleMap(\n initialCameraPosition: CameraPosition(target: LatLng(49, -23)),\n polylines: {\n Polyline(\n // Polyline id must be unique.\n polylineId: PolylineId('titanic route'),\n points: [\n LatLng(50.90, -1.41), // Southampton\n LatLng(49.65, -1.60), // Cherbourg\n LatLng(49.77, -6.71),\n LatLng(51.83, -8.28), // Cobh\n LatLng(50.96, -8.58),\n LatLng(41.75, -49.90), // Wreck\n ],\n width: 5,\n color: Colors.red,\n geodesic: true,\n // Custom caps and joint types aren't supported on all platforms.\n startCap: Cap.roundCap,\n endCap: Cap.roundCap,\n jointType: JointType.round,\n consumeTapEvents: true,\n onTap: () =\u003e debugPrint('clicked route'),\n ),\n },\n );\n }\n}\nhttps://github.com/googlemaps-samples/flutter-maps-samples/blob/8f227e8b4d07179e5fb7cc5e8d8cb5440befd229/lib/samples/polylines.dart\n \n```\n\nNext steps\n----------\n\nView the complete set of samples on GitHub:\n\n[View on GitHub](https://github.com/googlemaps-samples/flutter-maps-samples/tree/main/lib/samples)\n\nAlternatively, clone the full set of samples to run them locally by executing the following commands: \n\n git clone -b flutter_samples https://github.com/googlemaps-samples/flutter-maps-samples.git\n cd flutter-samples\n flutter pub get"]]