我想将路线折线从我在颤动地图中的当前位置添加到特定位置

问题描述

在我的 flutter 项目中,我实现了显示我当前位置的谷歌地图。我想添加到特定位置(即折线)的路线[现在我想将该特定位置保留为硬编码值]。

我该怎么做?另外,Direction API 是收费的还是免费的??

这是我用于访问我当前位置的谷歌地图代码:

import 'dart:async';
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:thehelpdesk/widgets/appbar.dart';
class GoogleMapPage extends StatefulWidget {
  @override
  _GoogleMapPageState createState() => _GoogleMapPageState();
}

class _GoogleMapPageState extends State<GoogleMapPage> {

  Completer<GoogleMapController> _controllerGoogleMap = Completer();
  GoogleMapController newGoogleMapController ;

  GlobalKey<ScaffoldState> scaffoldKey = new GlobalKey<ScaffoldState>();
  Position currentPosition ;
  var geoLocator = Geolocator();

  void locatePosition() async{
    Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
    currentPosition = position;

    LatLng latLngPosition = LatLng(position.latitude,position.longitude);

    CameraPosition cameraPosition = new CameraPosition(target: latLngPosition,zoom: 14);
    newGoogleMapController.animateCamera(CameraUpdate.newCameraPosition(cameraPosition));
  }

  static final CameraPosition _cameraPosition = CameraPosition(
    target: LatLng(19.8100241,85.8177131),zoom: 14.4746);

  @override
final List<Marker> markers = [];

  addMarker(coordinate) {
    int id = Random().nextInt(100);
    setState(() {
      markers.add(Marker(position: coordinate,markerId: MarkerId(id.toString())));
    });
  }
Widget build(BuildContext context) {
    return Scaffold(
      key: scaffoldKey,appBar: aapBarSection('Google Map',Colors.blueAccent[700],context),body: GoogleMap(
        initialCameraPosition: _cameraPosition,mapType: MapType.normal,myLocationButtonEnabled: true,myLocationEnabled: true,zoomGesturesEnabled: true,onMapCreated: (GoogleMapController controller) {
_controllerGoogleMap.complete(controller);
          newGoogleMapController = controller;

          locatePosition();
        },markers: markers.toSet(),onTap: (coordinate) {
          newGoogleMapController.animateCamera(CameraUpdate.newLatLng(coordinate));
          addMarker(coordinate);
        },),);
  }
}

请帮帮我! 提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...