2017-08-24 40 views

回答

3

第一。然后你参考下面的代码。

斯威夫特

在AppDelegate中

import UIKit 
import CoreData 
import GoogleMaps 
import GooglePlacePicker 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

var window: UIWindow? 

func application(_ application: UIApplication, didFinishLaunchingWithOptions 
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    func setUpGoogleMaps() 
    return true 
} 

func setUpGoogleMaps() { 
    let googleMapsApiKey = "AIzaSyA-kiOBvrR9CNztqutwmKaSLyXIid93K0E" 
    GMSServices.provideAPIKey(googleMapsApiKey) 
    GMSPlacesClient.provideAPIKey("AIzaSyA-kiOBvrR9CNztqutwmKaSLyXIid93K0E") 
} 

在你的ViewController这是具有文本框

import UIKit 
import GooglePlaces 
import GoogleMaps 
import GooglePlacePicker 

class HotelVC: UIViewController, GMSMapViewDelegate, UITextFieldDelegate { 

@IBOutlet weak var YourTextField: UITextField! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.YourTextField.delegate = self 

} 

func textFieldDidBeginEditing(_ textField: UITextField) { 
    let acController = GMSAutocompleteViewController() 
    acController.delegate = self 
    self.present(acController, animated: true, completion: nil) 
    } 
} 


extension viewController: GMSAutocompleteViewControllerDelegate { 

func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) { 

    print("Place name: \(place.name)") 
    print("Place address: \(place.formattedAddress ?? "null")") 
    self.YourTextField.text = place.formattedAddress 
    print("Place attributions: \(String(describing: place.attributions))") 

    self.dismiss(animated: true, completion: nil) 
} 
func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) { 
    // TODO: handle the error. 
    //  print("Error: \(error.description)") 
    self.dismiss(animated: true, completion: nil) 
} 

// User canceled the operation. 
func wasCancelled(_ viewController: GMSAutocompleteViewController) { 
    print("Autocomplete was cancelled.") 
    self.dismiss(animated: true, completion: nil) 
    } 
} 
+0

感谢兄弟为我工作忘了投票@格雷戈里威尔逊Pullyattu – anuj

0

您可以使用Google Places API。它可以帮助您轻松查找地点,也可以通过您的textField激活它。

以下是你需要在你的项目安装GooglePlaces SDK链接https://developers.google.com/places/ios-api/autocomplete

+0

ü可以给我提供@kkakkurt – anuj

+0

样本还我想,他们的是搜索结果的极限@kkakkurt – anuj

+0

帮我解决这个@kkakkurt – anuj