- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用谷歌代码 IOS 描述:autocomplete
在用户在搜索框中输入的第一个字符处,发生错误:
Error: The operation couldn’t be completed. Operation failed due to an invalid (malformed or missing) API key. See the developer's guide (https://developers.google.com/places/ios-sdk/start) for information on creating and using an API key.
despite that calls to the API were successful:
GMS Services Key Valid: true
GMS Services SDK version: 3.3.0
GMS Places Key Valid: true
GMS Places SDK version: 3.3.0
2019-08-17 16:46:52.056351-0400 GPDemo[345:15310] [DYMTLInitPlatform] platform initialization successful
Entering AppDelegate.swift now...
Sending API key to Google Services and Places Client
GMS Services Key Valid: true
GMS Services SDK version: 3.3.0
GMS Places Key Valid: true
GMS Places SDK version: 3.3.0
Leaving AppDelegate.swift now...
warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available.
Entering viewDidLoad now...
Leaving viewDidLoad now...
2019-08-17 16:51:54.281297-0400 GPDemo[345:15082] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-08-17 16:51:54.283666-0400 GPDemo[345:15082] [MC] Reading from public effective user settings.
Entering didUpdateAutocompletePredictions function now...
Leaving didUpdateAnyAutocompletePredictions function now...
2019-08-17 16:51:55.829602-0400 GPDemo[345:15082] [framework] CUIThemeStore: No theme registered with id=0
Entering didRequestAutocompletePredictions function now...
Leaving didRequestAutocompletePredictions function now...
Entering didUpdateAutocompletePredictions function now...
Leaving didUpdateAnyAutocompletePredictions function now...
Entering resultsContoller didFailAutocomplete function now...
Error: The operation couldn’t be completed. Operation failed due to an invalid (malformed or missing) API key. See the developer's guide (https://developers.google.com/places/ios-sdk/start) for information on creating and using an API key.
Leaving resultsController didFailAutocomplete function now...
2019-08-17 16:54:13.293721-0400 GPDemo[345:15869] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x105e40a60] get output frames failed, state 8196
2019-08-17 16:54:13.297185-0400 GPDemo[345:15869] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x105e40a60] get output frames failed, state 8196
2019-08-17 16:54:13.299238-0400 GPDemo[345:15869] TIC Read Status [1:0x0]: 1:57
2019-08-17 16:54:13.300271-0400 GPDemo[345:15869] TIC Read Status [1:0x0]: 1:57
// AppDelegate.swift
// GPDemo
//
import UIKit
import GoogleMaps
import GooglePlaces
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
print("Entering AppDelegate.swift now...")
print("Sending API key to Google Services and Places Client")
//// Maps API
// JpDimoi "kiquoa-ios-places" key... 8/9/19
let GMSServicesKeyValid =
GMSServices.provideAPIKey("MY_API_KEY")
// JpDimoi "kiquoa-ios" key...
let GMSServicesSDKVer = GMSServices.sdkVersion()
print("GMS Services Key Valid: ", GMSServicesKeyValid)
print("GMS Services SDK version: ", GMSServicesSDKVer)
//// Places API
// JpDimoi "kiquoa-ios-places" key... 8/9/19
let GMSPlacesKeyValid =
GMSPlacesClient.provideAPIKey(
"MY_API_KEY")
// JpDimoi "kiquoa-ios" key...
let GMSPlacesSDKVer = GMSPlacesClient.sdkVersion()
print("GMS Places Key Valid: ", GMSPlacesKeyValid)
print("GMS Places SDK version: ", GMSPlacesSDKVer)
print("Leaving AppDelegate.s`enter code here`wift now...")
return true
}
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to
// inactive state. This can occur for certain types of temporary
// interruptions (such as an incoming phone call or SMS message)
// or when the user quits the application and it begins the
// transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and
// invalidate graphics rendering callbacks. Games should use this
// method to pause the game.
}
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data,
// invalidate timers, and store enough application state
//information to
// restore your application to its current state in case it is
//terminated
// later.
// If your application supports background execution, this method
// is called instead of applicationWillTerminate: when the user
// quits.
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the
// active state; here you can undo many of the changes made on
// entering
// the background.
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while
// the application was inactive. If the application was
// previously in the
// background, optionally refresh the user interface.
}
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data
// if appropriate. See also applicationDidEnterBackground:.
}
}
// GPDemo ViewController.swift
//
// Exact copy of code for results view controller
// when adding a searchBar to the top of the view
// Ref: https://developers.google.com/places/ios-sdk/autocomplete
import UIKit
import GooglePlaces
class ViewController: UIViewController {
var resultsViewController: GMSAutocompleteResultsViewController?
var searchController: UISearchController?
var resultView: UITextView?
override func viewDidLoad() {
print("Entering viewDidLoad now...")
super.viewDidLoad()
resultsViewController = GMSAutocompleteResultsViewController()
resultsViewController?.delegate = self
searchController = UISearchController(searchResultsController:
resultsViewController)
searchController?.searchResultsUpdater = resultsViewController
let subView = UIView(frame: CGRect(x: 0, y: 65.0, width: 350.0,
height: 45.0))
subView.addSubview((searchController?.searchBar)!)
view.addSubview(subView)
searchController?.searchBar.sizeToFit()
searchController?.hidesNavigationBarDuringPresentation = false
// When UISearchController presents the results view, present it
// in
// this view controller, not one further up the chain.
definesPresentationContext = true
print("Leaving viewDidLoad now...")
}
}
// Handle the user's selection.
extension ViewController: GMSAutocompleteResultsViewControllerDelegate {
func resultsController(_ resultsController:
GMSAutocompleteResultsViewController,
didAutocompleteWith place: GMSPlace) {
searchController?.isActive = false
print("Entering resultsController didAutocompleteWith place
function now...")
// Do something with the selected place.
//print("Place name: \(place.name)")
print("Place address: \(String(describing:
place.formattedAddress))")
//print("Place attributions: \(place.attributions)")
print("Leaving resultsController didAutocompleteWith place
function now...")
}
func resultsController(_ resultsController:
GMSAutocompleteResultsViewController,
didFailAutocompleteWithError error: Error){
// TODO: handle the error.
print("Entering resultsContoller didFailAutocomplete function
now...")
print("Error: ", error.localizedDescription)
print("Leaving resultsController didFailAutocomplete function
now...")
}
// Turn the network activity indicator on and off again.
func didRequestAutocompletePredictions(forResultsController
resultsController: GMSAutocompleteResultsViewController) {
print("Entering didRequestAutocompletePredictions function
now...")
UIApplication.shared.isNetworkActivityIndicatorVisible = true
print("Leaving didRequestAutocompletePredictions function
now...")
}
func didUpdateAutocompletePredictions(forResultsController
resultsController: GMSAutocompleteResultsViewController) {
print("Entering didUpdateAutocompletePredictions function
now...")
UIApplication.shared.isNetworkActivityIndicatorVisible = false
print("Leaving didUpdateAnyAutocompletePredictions function
now...")
}
}
最佳答案
即使在启用 Places API 并按照指南生成 key 后,我也遇到了同样的错误。但是我没有设置结算帐号对于这个 API。一旦我设置了它,API 就可以正常工作了。只要确保您设置了文档中的所有内容
https://developers.google.com/places/ios-sdk/start
关于ios - 由于 API key 无效(格式错误或丢失),操作失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57542533/
查看“mysqldump -d”并看到一个键是 KEY,而不是“PRIMARY KEY”或“FOREIGN KEY” 什么是关键? 示例: CREATE TABLE IF NOT EXISTS `TA
在我开始使用 Python 的过程中尝试找出最佳编码实践。我用 Pandas 写了一个 csv 到数据框阅读器。它使用格式: dataframe = read_csv(csv_input, useco
在 Flutter 中,用一个例子可以清楚地解释什么? 我的困惑是关于 key,如下面的代码所示。 MyHomepage({Key key, this.title}) : super(key: key
我在我的 Android 应用程序中使用 GCM。要使用 GCM 服务,我们需要创建 Google API key 。因此,我为 android、服务器和浏览器 key 创建了 API key 。似乎
我想在 azure key 保管库中创建一个 secret ,该 key 将具有多个 key (例如 JSON)。 例如- { "storageAccountKey":"XXXXX", "Co
尝试通过带有 encodeforURL() 的 url 发送 key 时,我不断收到错误消息和 decodefromUrl() .代码示例如下。 这是我的入口页面: key = generateSec
是否有检查雪花变体字段中是否存在键的函数? 最佳答案 您可以使用 IS_NULL_VALUE 来查看 key 是否存在。如果键不存在,则结果将为 NULL。如果键存在,如果值为 JSON null,则
我正在尝试运行此命令: sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A 但我收到一个错误: Execu
我有一个 csv 文件,我正在尝试对 row[3] 进行计数,然后将其与 row[0] 连接 row[0] row[3] 'A01' 'a' 'B02'
如何编写具有这种形式的函数: A(key, B(key, C(key, ValFactory(key)))) 其中 A、B 和 C 具有此签名: TResult GetOrAdd(string key
审查 this method我很好奇为什么它使用 Object.keys(this).map(key => (this as any)[key])? 只调用 Object.keys(this).ind
我有一个奇怪的情况。我有一个字典,self.containing_dict。使用调试器,我看到了字典的内容,并且可以看到 self 是其中的一个键。但是看看这个: >>> self in self.c
我需要在我的 Google Apps 脚本中使用 RSA-SHA256 和公钥签署消息。 我正在尝试使用 Utilities.computeRsaSha256Signature(value, key)
我是 React 的初学者开发人员,几天前我看到了一些我不理解的有趣语法。 View组件上有{...{key}},我会写成 key={key} ,它完全一样吗?你有链接或解释吗? render()
代理 key 、合成 key 和人工 key 之间有什么区别吗? 我不清楚确切的区别。 最佳答案 代理键、合成键和人工键是同义词。技术关键是另一个。它们都表示“没有商业意义的主键”。它们不同于具有超出
问题陈述:在 Web/控制台 C# 应用程序中以编程方式检索并使用存储在 Azure Key Vault 中的敏感值(例如数据库连接字符串)。 据我所知,您可以在 AAD 中注册应用,并使用其客户端
问题陈述:在 Web/控制台 C# 应用程序中以编程方式检索并使用存储在 Azure Key Vault 中的敏感值(例如数据库连接字符串)。 据我所知,您可以在 AAD 中注册应用,并使用其客户端
我正在寻找 Perl 警告的解决方案 “引用键是实验性的” 我从这样的代码中得到这个: foreach my $f (keys($normal{$nuc}{$e})) {#x, y, and z 我在
我正在为 HSM 实现 JCE 提供程序 JCE中有没有机制指定 key 生成类型例如: session key 或永久 key KeyGenerator keygen = KeyGener
我在 Facebook 上创建了一个应用程序。我已经正确添加了 keyhash 并且应用程序运行良好但是当我今天来并尝试再次运行它时它给了我这个错误。 这已经是第二次了。 Previsouly 当我收
我是一名优秀的程序员,十分优秀!