如何在谷歌地图颤动中将折线与街道曲线配合?
我在google_maps_flutter玩了 Polylines 2 个月,我有这个疑问:
- 折线不沿街道曲线或高速公路。
- 折线具有 OnTap 回调,但在多折线上,我无法获得我点击的 distinguis 的任何 ID 或属性。
谁能帮我一把?
我是 Flutter 的新手,我正在使用 Google 的 Directions API。也许不是解决此问题的正确API。
我需要折线集遵循街道曲线。
google_maps_flutter中的折线
PS:对不起,如果我的代码流血了你的眼睛!
google_maps_flutter小部件:
GoogleMap(
onMapCreated: (controller) {
_mapController = controller;
},
initialCameraPosition: CameraPosition(
target: getCurrentLocation(),
zoom: 15,
),
mapType: _currentMapType,
myLocationEnabled: true,
myLocationButtonEnabled: false,
compassEnabled: true,
rotateGesturesEnabled: true,
markers: _markers,
polylines: _polyline,
)
设置状态以显示折线和标记:
setState(
() {
_markers.clear();
for (var point in itinerary) {
_markers.add(
Marker(
markerId: MarkerId("stop ${point.latitude}"),
position: LatLng(point.latitude, point.longitude),
infoWindow: InfoWindow(title: point.address),
),
);
}
_polyline.clear();
_polyline.add(
flutter.Polyline(
polylineId: PolylineId("route"),
points: ccc,
width: 8,
color: Colors.red,
geodesic: true,
jointType: JointType.round,
),
);
_mapController.animateCamera(
CameraUpdate.newLatLngZoom(
LatLng(origin.lat, origin.lng), 13.0),
);
},
);
谷歌路线 API 调用:
GoogleMapsDirections(apiKey: apiKey).directions(origin, destination, waypoints: itinerary, ).then((DirectionsResponse response) { return response }
我从Github成员那里得到了一些建议,告诉我尝试SnapToRoad,现在我得到了有关路线的更多详细信息,但高速公路仍然是直升机的旅行
一个简单的 GET 来 https://roads.googleapis.com/v1/snapToRoads 我的前折线的API_KEy和一些点会有所帮助。
这是SnapToRoad的链接
那是因为折线只是你画的一条线,要做你想做的事情,需要在点之间制作一条路线,并使用该生成的坐标制作一条折线。
检查我发现的本教程:https://www.developerlibs.com/2018/08/flutter-how-can-draw-route-on-google.html
试试这个酒吧:google_map_polyline