如何在谷歌地图颤动中将折线拟合到街道曲线?
我确实在 google_maps_flutter 中玩折线 2 个月,我有这个疑问:
- 折线不遵循街道曲线或高速公路。
- 折线具有 OnTap 回调,但是在多折线上,我无法获得任何 ID 或属性来区分我点击的人。
任何人都可以帮我解决这个问题吗?
我是 Flutter 的新手,我正在使用 Google 的 Directions API。也许不是解决这个问题的正确 API。
我需要该折线集遵循街道曲线。
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),
);
},
);
Google 路线 API 调用:
GoogleMapsDirections(apiKey: apiKey).directions(origin, destination, waypoints: itinerary, ).then((DirectionsResponse response) { return response }