我用的是Xcode6.4,Swift和iOS8。我的目标是使用google地图(和地点?)软件开发工具包。当我在谷歌地图上搜索“国家公园”时,这张地图应该包含谷歌提供的所有结果。
我已经做了如下工作:
在google上为iOS创建API密钥(places和maps sdk)
显示地图和用户当前位置
现在,当用户打开地图时,我正在努力展示公园。我已经深入研究了googlesdk文档,并得出结论,我需要placesdk来实现这一点。但现在我有点迷茫了,我发现的只是一些场景,在这些场景中,用户要么必须在不同的“地点类型”中进行选择,要么应用程序正在调用某个特定地点的信息,知道它的id。
最佳答案
在您拥有了密钥和所有东西之后,您可以通过这样调用map api来获得位置。参数(格式字符串是自解释的)必须通过给出latitude
longitude
来告诉中心位置(如果您想显示周围的位置,可以从用户位置获取)。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"]