Use nearby Google places for reviews
All checks were successful
Build and deploy Flutter Web / build (push) Successful in 1m48s

This commit is contained in:
Ruslan Bakiev
2026-05-09 15:19:30 +07:00
parent 02b3521320
commit b93f7ec4ec
3 changed files with 139 additions and 40 deletions

View File

@@ -191,6 +191,55 @@ class MapflowApi {
}).toList();
}
Future<List<PlaceRecommendation>> fetchNearbyPlaces({
required LatLng coordinate,
required int radiusMeters,
}) async {
final data = await _graphql(
'''
query NearbyPlaces(\$input: NearbyPlacesInput!) {
nearbyPlaces(input: \$input) {
id
googlePlaceId
name
latitude
longitude
experiences {
id
status
analysis
createdAt
}
}
}
''',
variables: {
'input': {
'latitude': coordinate.latitude,
'longitude': coordinate.longitude,
'radiusMeters': radiusMeters,
},
},
);
final places = data['nearbyPlaces'] as List<dynamic>;
return places.map((item) {
final place = item as Map<String, dynamic>;
return PlaceRecommendation(
id: place['id'] as String,
googlePlaceId: place['googlePlaceId'] as String,
name: place['name'] as String,
area: '',
photoUrls: const [],
coordinate: LatLng(
(place['latitude'] as num).toDouble(),
(place['longitude'] as num).toDouble(),
),
traits: _traitsFromExperiences(place['experiences'] as List<dynamic>),
);
}).toList();
}
Future<void> createVoiceExperience({
required String googlePlaceId,
required String googleName,