import SwiftUI
import MapKit

@Observable class ApplicationData {
   var cameraPos: MapCameraPosition
   var listLocations: [MKMapItem] = []

   static let shared: ApplicationData = ApplicationData()
   private init() {
      let coordinates = CLLocationCoordinate2D(latitude: 40.7637825011971, longitude: -73.9731328627541)
      let region = MKCoordinateRegion(center: coordinates, latitudinalMeters: 1000, longitudinalMeters: 1000)
      cameraPos = MapCameraPosition.region(region)
   }
   func findPlaces() async {
      if let region = cameraPos.region {
         let request = MKLocalSearch.Request()
         request.naturalLanguageQuery = "Pizza"
         request.region = region

         let search = MKLocalSearch(request: request)
         if let results = try? await search.start() {
            let items = results.mapItems
            listLocations = []
            for place in items {
               listLocations.append(place)
            }
         }
      }
   }
}