我只想调用基本数据表单谷歌自动完成Api来最小化我需要添加字段掩码的账单,我只想使用地点id获取坐标,通常方法是有效的,但是当尝试添加字段掩码时,该方法是不工作
Future setCustomMarker(String placeId) 异步 { 最终细节=等待GoogleMapsPlaces( apiKey: 'API 密钥', ).getDetailsByPlaceId(placeId);
if (details.result.geometry != null) {
final location = details.result.geometry!.location;
double lat = location.lat;
double lng = location.lng;
LatLng destination = LatLng(lat, lng);
endLocation = destination;
// Generate custom marker icon
BitmapDescriptor customIcon = await CustomMapMarker.getCustomMarkerIcon(
Colors.green, // Fill color
Colors.black, // Border color
52.0, // Size of the marker
);
setState(() {
isTextFieldVisible = false;
_markers.clear();
_markers.add(
Marker(
markerId: MarkerId(placeId),
position: destination,
infoWindow: InfoWindow(
snippet: details.result.name,
title:'Your destination ',
),
icon: customIcon, // Set the custom icon here
),
);
});
mapController.animateCamera(
CameraUpdate.newLatLngZoom(destination, 14.5),
);
}
}
好吧,这需要大量的试验和错误,但将返回的响应映射到对象的包似乎存在问题。为了让它工作,这可能是您需要的最少字段列表。
PlacesDetailsResponse detail =
await places.getDetailsByPlaceId(addressPlaceId, fields: [
'id','geometry','place_id','reference','name'
]);