我正在使用Angular 6应用程序,该应用程序使用了DevExtreme地图组件dx-map
。
该组件允许使用两个提供程序:“必应”和“ Google地图”。 使用GMaps时,需要提供API密钥。
这就是我在TS文件中提供密钥的方式:
public mapProvider = { provider: 'google', key: environment.googleMapsKey };
这是HTML部分:
<dx-map #map [provider]="mapProvider.provider" [key]="mapProvider.key"></dx-map>
在开发环境中使用ng s
在本地工作时,所有内容都像一个魅力。
检查网络呼叫,密钥正确,并指向dev
。
当我们进入生产阶段时,会出现一个奇怪的部分。但是首先,我做了一些测试,以确保这并不是我的愚蠢之举:
ng s
使用了 dev API密钥 ng s --prod
使用了 dev API密钥 ng b --aot --prod && cd dist/project && python -m SimpleHTTPServer 3000
使用了 dev API密钥 dist
并通过CloudFront和BOOM访问应用程序。 使用了其他密钥 奇怪的是,我的代码中没有相关的密钥,也没有硬编码,env文件中也没有该密钥,Google Cloud Console上的项目中也没有该密钥...
这让我觉得这是使用的“默认”键吗?何时生产?由谁?谷歌? Devextreme?
我无法解决这个问题,我什至不知道要搜索什么...
发出的消息如下:
js?callback=_googleScriptReady&key=AIzaSyBvc9eOh-EXYaHSFbwRzMpW2Q1e_sLUXw8&_=1540745848444:53 You have exceeded your request quota for this API. See https://developers.google.com/maps/documentation/javascript/error-messages?utm_source=maps_js&utm_medium=degraded&utm_campaign=billing#api-key-and-billing-errors
好的,非常感谢Google,即使我知道使用了错误的密钥,但问题是我不知道该密钥的来源,而且最重要:为什么 >
以下是Google Cloud Console中针对特定密钥的屏幕截图:(我很抱歉,但是是意大利语)
在此先感谢所有愿意提供帮助的人。 凯斯
好吧,正在发生一些奇怪的事情……突然之间没有任何干预,并且在最后一次部署之后的几个小时后,地图使用正确的密钥开始正常工作。 WTF?
如果有人有任何有效的解释,欢迎