问题描述
在我的 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 (将#修改为@)