2017-07-25 15 views
0

我面臨的問題,而從谷歌地圖將自動完成檢索數據,因爲我認爲沒有負載的經度和緯度[團結]薩雷默認同時顯示在地圖如何我可以通過搜索的地方

let camera = GMSCameraPosition.camera(withLatitude: 30.7096, longitude: 76.7016, zoom: 12) 

let mapView = GMSMapView.map(withFrame: CGRect(x: 0, y: 58, width: 320, height: 510), camera: camera) 

    let marker = GMSMarker() 
    marker.position = camera.target 
    marker.snippet = "Hello World" 
    marker.map = mapView 
    self.mapSize.addSubview(mapView) 
} 

@IBAction func autocompleteClicked(_ sender: UIButton) 
{ 
    let autocompleteController = GMSAutocompleteViewController() 
    autocompleteController.delegate = self as! GMSAutocompleteViewControllerDelegate 
    present(autocompleteController, animated: true, completion: nil) 
} 

@IBOutlet weak var mapSize: UIView! 
檢索座標

回答

0

您是否在父視圖控制器中實現了GMSAutocompleteViewControllerDelegate協議?

extension ViewController: GMSAutocompleteViewControllerDelegate { 

    // Handle the user's selection. 
    func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) { 
     print("Place name: \(place.name)") 
     print("Place address: \(place.formattedAddress)") 
     print("Place attributions: \(place.attributions)") 
     dismiss(animated: true, completion: nil) 
    } 

    func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) { 
     // TODO: handle the error. 
     print("Error: ", error.localizedDescription) 
    } 

    // User canceled the operation. 
    func wasCancelled(_ viewController: GMSAutocompleteViewController) { 
     dismiss(animated: true, completion: nil) 
    } 

    // Turn the network activity indicator on and off again. 
    func didRequestAutocompletePredictions(_ viewController: GMSAutocompleteViewController) { 
     UIApplication.shared.isNetworkActivityIndicatorVisible = true 
    } 

    func didUpdateAutocompletePredictions(_ viewController: GMSAutocompleteViewController) { 
     UIApplication.shared.isNetworkActivityIndicatorVisible = false 
    } 

} 
+0

是的,我已經實施。 (「Place place:\(place.formattedAddress)」) print(「放置歸屬地址:「(place.attributions)」) print(「Place longitude:\(place.coordinate.longitude)」) print(「Place latitude:\(place.coordinate.latitude)」) dismiss(animated:true ,完成:無) } 我可以打印但不能更改位置 –

0

你缺少委託作爲GMSAutocompleteViewControllerDelegate 需要被添加爲 - 的

autocompleteController.delegate = self as! GMSAutocompleteViewControllerDelegate 

這個沒有更多的力量包裹後,因此

class ProductDetailsViewController: UIViewController,GMSAutocompleteViewControllerDelegate {} 

只寫

autocompleteController.delegate = self 

之後,您將獲得信息爲

func viewController(viewController: GMSAutocompleteViewController, didAutocompleteWithPlace place: GMSPlace) { 
     print("latitude is ",place.coordinate.latitude) 
     print("longitude is ",place.coordinate.longitude) 

    } 
相關問題