首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用webAPI调用

使用webAPI调用
EN

Stack Overflow用户
提问于 2019-11-27 04:26:56
回答 1查看 66关注 0票数 0

我正在使用webAPI调用使用GeoNames WebServices来查找给定城市和周边地区的地震信息。如何进行webAPI调用。到目前为止,我已经得到了地址的longitudelatitude。我很难理解我们是如何得到信息的。我想快速显示每个地球的datetimemagnitude

代码语言:javascript
复制
@IBAction func getAddress(_ sender: Any) {
    let addString = location.text
    CLGeocoder().geocodeAddressString(addString!, completionHandler:
    {(placemarks, error) in

        if error != nil {
            print("Geocode failed: \(error!.localizedDescription)")
        }else if placemarks!.count > 0{
            let placemark = placemarks![0]
            let location = placemark.location
            let coords = location!.coordinate

            self.lat = coords.latitude
            self.long = coords.longitude

            print(self.lat, "\n")
            print(self.long, "\n")
        }
        self.south = self.south + self.lat
        self.north = self.north + self.lat
        self.east = self.east + self.long
        self.west = self.west + self.long
        print("\n",self.north, "\n", self.south, "\n", self.east, "\n", self.west)
    })


    let urlAaString = "http://api.geonames.org/earthquakesJSON?north=" + String(self.north) +
    "&south=" + String(self.south) +
    "&east=" + String(self.east) +
    "&west=" + String(self.west) + "&username=demo"

    let url = NSURL(string: urlAaString)!
    let urlSession = URLSession.shared

    let jsonQuery = urlSession.dataTask(with: url as URL, completionHandler: { data, response, error -> Void in
        if (error != nil) {
            print(error!.localizedDescription)
        }
        var err: NSError?


        let jsonResult = (try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers)) as? NSDictionary
        if (err != nil) {
            print("JSON Error \(err!.localizedDescription)")
        }

        print(jsonResult)

    })

    jsonQuery.resume()
}
EN

回答 1

Stack Overflow用户

发布于 2019-11-27 04:43:42

首先启用ATS,因为您使用的是http 我如何启用ATS

您可以使用alamofire 阿拉莫火

就这么简单

代码语言:javascript
复制
 Alamofire.request("http://api.geonames.org/earthquakesJSON?north=" + String(self.north) +
"&south=" + String(self.south) +
"&east=" + String(self.east) +
"&west=" + String(self.west) + "&username=demo") .responseJSON { response in
      //2.
      if let JSON = response.result.value{
         //3.
         self.jsonArray = JSON as? NSArray
         //4.
         for item in self.jsonArray! as! [NSDictionary]{
            //5.
            //you handle the json
         }
      }
      else
      {
         print("error with the data")
       }
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59063006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档