我试图包括谷歌地图和多个位置。
对于一个位置,Iframe 工作正常。我不知道如何在 Iframe 中实现多个位置。所以我尝试了 AGM。同样用于AGM的APIKey Im.但是得到错误,谷歌地图JavaScript API错误:ApiTargetBlockedMapError。
这是我的 IFrame 代码
<iframe src="https://www.google.com/maps/embed/v1/place?q=11.0443324,77.04292389999999&key=MY_APIKEY" width="98%" height="100%" frameborder="0"></iframe>
对于年度股东大会,请在 NgModule 中添加密钥
AgmCoreModule.forRoot({AgmCoreModule.forRoot({
apiKey: 'MY_APIKEY',
})
<agm-marker *ngFor="let loc of mSupplierLocationList" [label]="loc.label" [latitude]="loc.latitude" [longitude]="loc.longitude" >
</agm-marker>
</agm-map>
我在使用已经有权使用该JavaScript API
的密钥时遇到了同样的错误。事实证明,谷歌已经更改了服务所需的权限,但没有更改错误消息;我必须让密钥访问Places API
它修复了错误。
请注意,AGM 使用 JavaScript API。不是嵌入 API(您在 iframe 中毫无问题地调用的 API(。
如果您使用相同的 API 密钥来调用两个 API,则这可能是问题所在。
此 ApiTargetBlockedMapError 表示:
Maps JavaScript API 尚未获得已使用的 API 密钥的授权。 请在 谷歌云平台控制台。
因此,首先确保在您的项目中启用了 JavaScript API,然后检查它是否列在 API 密钥的 API 限制下。
希望这有帮助!
如果这对某些人有用,我遇到了同样的问题。
- 转到 Google Cloud Platform 中的"凭据"标签页
- 然后点击地图>您会看到 API 限制的下拉菜单
所有Maps [...] API
都已启用,但某些地图 API 的名称中不包含"地图",我只是添加了它们。