【问题标题】:agm-map control options not working properlyagm-map 控制选项无法正常工作
【发布时间】:2022-05-23 05:19:37
【问题描述】:

即使我为 agm-maps 设置了选项,我也会在很短的时间内看到我的选项,然后它们就会全部消失。我无法理解这种行为。我创建了一个简单的项目只是为了演示 Stackblitz 中的问题,我也将在这里分享我的代码。

  • 代码示例

maps.html:

<agm-map [latitude]="lat" [longitude]="lng"
(mapReady)="onMapReady($event)" 
>
  <agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>

maps.component.ts

  onMapReady(map: any) {
    this.map = map;
    this.map.setOptions({
      mapTypeControl: 'true',
      mapTypeControlOptions: {
        mapTypeIds: ['roadmap', 'hybrid'],
        position: google.maps.ControlPosition.TOP_LEFT,
        style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
      },
      fullscreenControl: true,
      streetViewControl: true
  });
}
  • Stackblitz

https://stackblitz.com/edit/angular-agm-vvqbao?file=app/app.component.ts

  • 参考

https://github.com/SebastianM/angular-google-maps/blob/f9c23aa5d166ac7408f13891f6bfa2fc16026b19/packages/core/services/google-maps-types.ts#L431-L444


您可以在 Stackblitz 中看到,每当地图加载时,我的地图类型控件会在地图的左上方闪烁片刻,然后无缘无故消失。您可能在第一次尝试时不会意识到,您可以在查看地图左上角的同时刷新页面。

【问题讨论】:

  • 您是否使用正确的 api 密钥来访问谷歌地图?
  • 是的,但我应该启用更多 API 来启用 maptypeId 吗?
  • 您必须提供 API 密钥和所需的服务(例如方向服务)。我还建议您使用 googeMaps javascript 库而不是 agm-map
  • 我认为你错了,我使用了正确的 API 密钥,并且 JS-Maps 文档显示不需要额外的 API 启用密钥来使用地图选项。

标签: angular agm-map


【解决方案1】:

#maps.component.ts#

onMapReady(map) {
  map.setOptions({
      mapTypeControl: 'true',
      mapTypeControlOptions: {
        mapTypeIds: ['roadmap', 'hybrid'],
        position: google.maps.ControlPosition.TOP_LEFT,
        style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
      },
      fullscreenControl: true,
      streetViewControl: true
  });
}

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
  • 2014-10-31
  • 1970-01-01
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多