在地图上绘制多段线

显示在地图上绘制多段线的图片。

此示例显示了北大西洋的地图,其中绘制了泰坦尼克号的航线。

开始使用

您必须先配置开发环境,然后才能试用该示例代码。如需了解详情,请参阅设置 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