在google map ios中只获取区域名称?

时间:2014-12-25 09:31:35

标签: ios swift google-maps-sdk-ios reverse-geocoding

我正在使用故事板构建iOS应用。我已经在我的应用中实现了谷歌地图。

我在我的应用中使用Feed Me Starter教程代码。我遇到问题,我在func reverseGeocodeCoordinate(坐标:CLLocationCoordinate2D)中进入addressLabel,如下所示:

Laggere Rd,JC Nagar,Freedom Fighters Colony,Kamala Nagar,Bengaluru,Karnataka 560086

但是我只想要Kamala Nagar作为上述地址,意味着我只需要区域名称,我无法做到这一点,因为我是swift的新人,你能帮助我如何做到这一点。

这是我的代码:

 func reverseGeocodeCoordinate(coordinate: CLLocationCoordinate2D) {
    let geocoder = GMSGeocoder()
    geocoder.reverseGeocodeCoordinate(coordinate) { response , error in

      //Add this line

  self.addressLabel.unlock()
 if let address = response?.firstResult() {
 println("label657656558568===\(address)");
 self.addressLabel.text=response.valueForKey ("subLocality") as? NSString;
 println("label===\(self.addressLabel.text)");
 let labelHeight = self.addressLabel.intrinsicContentSize().height
 self.mapView.padding = UIEdgeInsets(top: self.topLayoutGuide.length, left: 0, bottom: labelHeight, right: 0)
 UIView.animateWithDuration(0.25) {
  self.pinImageVerticalConstraint.constant = ((labelHeight - self.topLayoutGuide.length) * 0.5)
  self.view.layoutIfNeeded()
  }

2 个答案:

答案 0 :(得分:0)

您只需将值分配给地址标签

即可

只做

Self.addresslabel = [response valueforkey @“streetName”];

答案 1 :(得分:0)

addressGMSAddress类型。

所以,你可以使用

if let address = response?.firstResult() {
    self.addressLabel.text = address.subLocality
}

点击此处了解详情:https://developers.google.com/maps/documentation/business/mobile/ios/reference/interface_g_m_s_address