我做到了
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/search/json?location=30.722322,76.76126&radius=500&types=food&sensor=true&key=any_apiKey"]];
NSURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *strResponse = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"%@",strResponse);
SBJSON *sbJason = [[SBJSON alloc] init];
NSMutableDictionary *getPlaceList = [sbJason objectWithString:strResponse];
//但我得到了这个 -
{
"html_attributions" : [],
"results" : [],
"status" : "REQUEST_DENIED"
}
** API Key是否有任何问题我写了谷歌地图给出的API密钥。 api密钥有什么问题或者请告诉我这里是link of google api
答案 0 :(得分:20)
虽然已经回答了这个问题,但我认为社区可以更好地解释为了实现这一目标需要做些什么。
我正在撕扯我的头发,这对我来说没有意义..我正在制作iOS / Android应用程序,所以我制作了iOS / Android Key ...... <强>错误。强>
使用Google的Places API,甚至不会考虑您的包标识符。
你真正想做的是: (我正在使用新的用户界面)
<强> 1。登录https://cloud.google.com/console#/project
选择您的项目名称,然后进入 API&amp; Auth&gt;的API 强>
确保您已启用Places API。这是Places-API唯一需要启用的功能。
<强> 2。进入凭证
单击“公共API访问”下的“创建新密钥”
第3。选择BROWSER KEY
<强> 4。单击“创建”,“没有其他”
将HTTP Refer框保留为空。
<强> 5。使用此处生成的密钥
此密钥将允许任何设备的任何用户通过您的开发人员登录访问API。 你可以在这里试试:(一定要用你生成的密钥替换 YOUR_KEY_HERE )
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Food%20Sh&sensor=false&radius=500&location=0,0&key=YOUR_KEY_HERE
<强> 6。享受强>
现在,您可以在Android / iOS设备上使用上述网址。
答案 1 :(得分:4)
答案 2 :(得分:2)
需要在API控制台中为该密钥启用Static Maps API和Places API。打开API控制台并启用对Places API的访问。礼貌限制:每天1,000个请求,之后您可能需要启用结算。
答案 3 :(得分:2)
只想要第二个Josh的解决方案。我花了几个小时搞清楚IOS密钥,几乎放弃了。
答案 4 :(得分:1)
试试这个: -
https://developers.google.com/places/documentation/
阅读以下部分并继续获取密钥的步骤。
验证
Google Places API使用API密钥来标识您的应用。 API密钥通过Google API控制台进行管理。在开始使用API之前,您需要自己的API密钥。要激活Places API并创建密钥:
Visit the APIs console at https://code.google.com/apis/console and log in with your Google Account.
A default project called API Project is created for you when you first log in to the console. You can use the project, or create a new one by clicking the API Project button at the top of the window and selecting Create. Maps API for Business customers must use the API project created for them as part of their Places for Business purchase.
Click the Services link from the left-hand menu.
Click the Status switch next to the Places API entry. The switch slides to On.
Click API access from the left navigation. Your key is listed in the Simple API Access section.
答案 5 :(得分:0)
我最终得到了这段代码。
UIActivityIndicatorView *activity=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activity.center=self.view.center;
[activity startAnimating];
[self.view addSubview:activity];
NSString *str=[[NSString alloc] init];
str=[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/textsearch/json?query=%@&sensor=true&key=YOUR_BROWSER_KEY",searchQuery];
NSMutableURLRequest *request1=[[NSMutableURLRequest alloc] init];
NSURL *url= [[NSURL alloc] initWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[request1 setURL:url];
[request1 setHTTPMethod:@"GET"];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSError *requestError = nil;
NSURLResponse *urlResponse = nil;
NSData *response1 =
[NSURLConnection sendSynchronousRequest:request1
returningResponse:&urlResponse error:&requestError];
dispatch_async(dispatch_get_main_queue(), ^{
if ([activity isAnimating]) {
[activity startAnimating];
[activity removeFromSuperview];
}
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:response1
options:kNilOptions
error:&error];
NSLog(@"%@",json);
self.searchArray=[json objectForKey:@"results"];
[self.tableView setDataSource:self];
[self.tableView setDelegate:self];
[self.tableView reloadData];
[self showPins:self.searchArray];
});
});