ios - iOS 上的 Google Places API 自动完成功能
<p><p>在过去的几天里,我一直在努力让 Google Places 自动完成功能在我的应用上运行,无论我做什么,我总是收到 <code>REQUEST_DENIED</code> 错误。</p>
<p>我按照 Google 的“教程”进行实现,Places API 已启用,APIkey 具有正确的捆绑 ID,我还使用浏览器 ID 进行了测试,但没有成功。</p>
<p>不过,我很确定这与 key 有关。奇怪的是,在应用程序的 Android 版本上,该服务将使用浏览器 key 。显然,在浏览器上,它也可以使用该 key 。</p>
<p>这是我尝试过的两个键:</p>
<p> <img src="/image/vGykO.png" alt="Google APIs Console"/> </p>
<p>这是我的实现代码,使用 <code>AFNetworking</code>:</p>
<pre><code>NSURL *url = ;
NSDictionary *params = @{@"input" : ,
@"location" : ,
@"sensor" : @(true),
// @"language" : @"pt_BR",
// @"types" : @"(regions)",
// @"components" : @"components=country:br",
@"key" : GOOGLE_API_KEY};
AFHTTPClient *httpClient = [ initWithBaseURL:url];
;
[httpClient getPath:@"json"
parameters:params
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *JSON = [ dictionaryWithoutNulls];
if (completion) {
completion(JSON[@"predictions"]);
}
}
failure:^(AFHTTPRequestOperation *operation, NSError *errorResponse) {
NSLog(@": %@ for URL %@", , [[ URL] path]);
}];
</code></pre>
<p>我知道这里有一些类似这样的问题,但有些问题已经过时了,并说 Places API 在 Android 或 iOS 上不起作用,显然情况不再如此,因为 Google 本身在这两个平台上都发布了示例,因为在 Places API 页面上看到:<a href="https://developers.google.com/places/documentation/autocomplete" rel="noreferrer noopener nofollow">https://developers.google.com/places/documentation/autocomplete</a> </p>
<p>我目前使用的一种解决方法是 Apple 的 GeoCoding 系统,它在您输入完整地址时效果很好,但在输入一半的短语时效果很差。这一点都不好,我很想用谷歌的API。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我明白了!</p>
<p>参数 <code>sensor</code> 应该接收 <code>@"true"</code> 或 <code>@"false"</code>,而不是 <code>@(true)</code>或<code>@(false)</code>.</p>
<p>为了记录,使用的 APIkey 确实是浏览器 key ,而不是 iOSkey 。</p></p>
<p style="font-size: 20px;">关于ios - iOS 上的 Google Places API 自动完成功能,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/19520177/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/19520177/
</a>
</p>
页:
[1]