CLGeocoder returns wrong results when city name is equal to some country's name (and not only)

前端 未结 4 502
抹茶落季
抹茶落季 2020-12-17 14:16

In one of my apps I need to add an ability to find a city by its name. I am using CLGeocoder to achieve this and I want it to have a behaviour identical to iOS

4条回答
  •  萌比男神i
    2020-12-17 14:49

    You can also do this by google API like this

    //chakshu
    
           var urlString = "https://maps.googleapis.com/maps/api/place/autocomplete/json?input=\(searchString)&sensor=true&key=\(Google_Browser_Key)"
    
                    var linkUrl:NSURL = NSURL(string:urlString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)!
    
                    if(countElements(urlString)>0 && !urlString.isEmpty)
                    {
                       // if let fileData = String(contentsOfURL: NSURL(string: urlString)!, encoding: NSUTF8StringEncoding, error: nil)
                        if let fileData = String(contentsOfURL: linkUrl, encoding: NSUTF8StringEncoding, error: nil)
                        {
                            println(fileData)
    
                            var data = fileData.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: false)
                            var localError: NSError?
                            if(data != nil)
                            {
                                var json: AnyObject! = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers, error: &localError)
    
    }
    }
    
    }
    

提交回复
热议问题