带路线的折线,用于较短距离的Google Maps flutter

o4tp2gmn  于 2022-12-14  发布在  Flutter
关注(0)|答案(1)|浏览(189)

如何绘制折线(路线,而不仅仅是直线)与谷歌Map之间的2个确切的点Flutter,目前有一个谷歌API,返回方向/路线的折线,但它采取的来源和目的地作为字符串,而不是作为一个LatLng点,所以我猜它只能绘制折线之间的2个城市/城镇,所以我们不能绘制折线较短的距离,有没有一种方法可以画出Flutter中两个点之间的多段线?

plicqrtu

plicqrtu1#

在Flutter中,您可以轻松地在Google Map上绘制两个精确LatLng点之间的路线折线。首先,您需要使用Google Maps Directions API获取两点之间的路线。此API将两组纬度和经度坐标作为输入,并返回定义两点之间路线的一组点。一旦您获得了定义路线的点,您可以使用Google Maps Flutter插件中的Polyline类在Map上绘制折线。Polyline类有一个points属性,该属性接受定义折线的LatLng坐标列表。您可以将从Google Maps Directions API接收的点列表传递给此属性,以便在Map上绘制折线,如下所示:

// Import Google Maps Flutter plugin
import 'package:google_maps_flutter/google_maps_flutter.dart';

// Import the classes HTTP requests
import 'package:http/http.dart' as http;
import 'dart:convert';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Google Maps Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState

相关问题