【问题标题】:How to show places like "national parks" using google maps sdk in iOS?如何在 iOS 中使用 google maps sdk 显示“国家公园”之类的地方?
【发布时间】:2015-07-12 20:22:08
【问题描述】:

我正在使用 xcode 6.4、Swift 和 iOS8。我的目标是使用谷歌地图(和地点?)sdk 显示地图。当我在谷歌地图上搜索“国家公园”时,这张地图应该包含谷歌提供的所有结果。

我已经做了如下:

  1. 在 google 上为 iOS 创建一个 API 密钥(地点和地图 sdk)
  2. 显示地图和用户当前位置

现在,当用户打开地图时,我正在努力显示公园。我已经深入研究了 googles sdk 文档,得出的结论是我需要 Places SDK。但是现在我有点迷茫了,我发现的只是用户要么必须在不同的“地点类型”之间进行选择,要么应用程序在知道其 id 的情况下调用某个特定地点的信息的场景。

【问题讨论】:

  • 我收到了反对票 - 我的问题还不够清楚吗?还是我违反了一些规则?我只是想了解它,以便下次我提出问题时做得更好。

标签: ios swift google-maps google-places-api


【解决方案1】:

获得钥匙和所有东西后,您可以通过像这样调用地图 api 来获取位置。参数(格式字符串是不言自明的)你必须通过给latitudelongitude来告诉中心位置(如果你想显示周围的地方,你可以从用户位置获取它)。 distance 是您要查询地点的区域。 types 这里提到的地方类型,所以它可以是公园、餐馆等。

当您运行查询时,您将获得包含详细信息的地点列表,并且您必须使用地图注释进行绘制

var googleURLString NSString(format:@"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=%@&types=%@&sensor=true&key=%@",latitude, longitute, distance, type, apiKey ) as String

let googleURL = NSURL(string: googleURLString)

let locationData = NSData(contentsOfURL: googleURL!, options: nil, error: nil)

let dataToUse = NSJSONSerialization.JSONObjectWithData(locationData, options:   NSJSONReadingOptions.AllowFragments, error:&error) as NSDictionary

let locations = dataToUse["results"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多