2015-01-15 2 views
1
  • 신속한 답변.
  • 사용자가 텍스트 필드에 임의의 위치를 ​​입력하면지도에 location을 표시하는 방법을 안내해주세요.
  • 이 텍스트 필드 문자열을 사용하여 map에이 위치를 표시하는 방법. 이 내 코드사용자 정의 위치 표시 방법

    import UIKit 
    import CoreLocation 
    import MapKit 
    class DetailViewController: UIViewController, CLLocationManagerDelegate, MKMapViewDelegate { 
    
    var manager:CLLocationManager! 
    var myLocations: [CLLocation] = [] 
    
    
    required init(coder aDecoder: NSCoder) 
    { 
        super.init(coder: aDecoder) 
    } 
    
    override func viewDidLoad() { 
        super.viewDidLoad() 
    //Setup our Location Manager 
        manager = CLLocationManager() 
        manager.delegate = self 
        manager.desiredAccuracy = kCLLocationAccuracyBest 
        manager.requestAlwaysAuthorization() 
        manager.startUpdatingLocation() 
        //Setup our Map View 
        theMap.delegate = self 
        theMap.mapType = MKMapType.Satellite 
        theMap.showsUserLocation = true 
    
    } 
    func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) { 
        theLabel.text = "\(locations[0])" 
        myLocations.append(locations[0] as CLLocation) 
    
        let spanX = 0.007 
        let spanY = 0.007 
        var newRegion = MKCoordinateRegion(center: theMap.userLocation.coordinate, span: MKCoordinateSpanMake(spanX, spanY)) 
        theMap.setRegion(newRegion, animated: true) 
        if (myLocations.count > 1){ 
         var sourceIndex = myLocations.count - 1 
         var destinationIndex = myLocations.count - 2 
         let c1 = myLocations[sourceIndex].coordinate 
         let c2 = myLocations[destinationIndex].coordinate 
         var a = [c1, c2] 
         var polyline = MKPolyline(coordinates: &a, count: a.count) 
         theMap.addOverlay(polyline) 
        } 
    } 
    

감사

입니다

답변

0

내가보기 컨트롤러가 designed.When 사용자 클릭이 얼마나 그건 같은데 우리가에 사용자가 입력 한 텍스트를 변환합니다 버튼 "위치 찾기" 지도에 주소를 지정하고 주석을 배치하십시오. enter image description here

@IBOutlet var userinput: UITextField! 
@IBAction func findlocation(sender: AnyObject) { 
if(userinput.text == "") 
{ 
//location cannot be empty.Show an alert to notify user 
} 
else 
{ 
    var address:String = userinput.text as String // 1 Infinite Loop, CA, USA 
var geocoder = CLGeocoder() 
geocoder.geocodeAddressString(address, {(placemarks: [AnyObject]!, error: NSError!) -> Void in 
if let placemark = placemarks?[0] as? CLPlacemark { 
     self.mapView.addAnnotation(MKPlacemark(placemark: placemark)) 
} 
}) 
} 
}