如何绘制折线(路线,而不仅仅是直线)与谷歌Map之间的2个确切的点Flutter,目前有一个谷歌API,返回方向/路线的折线,但它采取的来源和目的地作为字符串,而不是作为一个LatLng点,所以我猜它只能绘制折线之间的2个城市/城镇,所以我们不能绘制折线较短的距离,有没有一种方法可以画出Flutter中两个点之间的多段线?
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
1条答案
按热度按时间plicqrtu1#
在Flutter中,您可以轻松地在Google Map上绘制两个精确LatLng点之间的路线折线。首先,您需要使用Google Maps Directions API获取两点之间的路线。此API将两组纬度和经度坐标作为输入,并返回定义两点之间路线的一组点。一旦您获得了定义路线的点,您可以使用Google Maps Flutter插件中的Polyline类在Map上绘制折线。Polyline类有一个points属性,该属性接受定义折线的LatLng坐标列表。您可以将从Google Maps Directions API接收的点列表传递给此属性,以便在Map上绘制折线,如下所示: