Map button refresh location

前端 未结 3 2039
清酒与你
清酒与你 2021-01-02 23:06

I am working on my first swift application for the iPad. Thus far I have a basic mapview with a button in the bottom toolbar, which I would like to refresh and focus onto th

相关标签:
3条回答
  • 2021-01-02 23:48

    Try the following 3 line code:

    @IBAction func refresh(sender: AnyObject) {
        mapView.setCenterCoordinate(mapView.userLocation.coordinate, animated: true)
    }
    

    EDIT

    Check the following:

    Can you see the dot on the left side of the method?

    I want see your connections inspector. Refresh button and refresh method are connected correctly?

    0 讨论(0)
  • 2021-01-02 23:50

    As @Orkhan said you can do it in this way.

    If you want to do the action you just simple ctrl-drag to viewController and select "Action".

    After that you can add code to the handler.

        var location: CLLocation!
        @IBAction func refreshLocation(sender: AnyObject) {
    
        let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
        let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
    
        self.map.setRegion(region, animated: true)
    }
    
    func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
        self.location = locations.last as CLLocation
    }
    
    0 讨论(0)
  • 2021-01-03 00:07

    You can update your location with this function:

    func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
        let location = locations.last as CLLocation
    
        let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)        
        let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
    
        self.map.setRegion(region, animated: true)
    }
    

    If your target is iOS 8, you need to add the NSLocationAlwaysUsageDescription key in your Info.plist.

    0 讨论(0)
提交回复
热议问题