【问题标题】:Ionic4 - Angular- GoogleMaps - How to modify the viewport of the background Google Map accordingly to the components shown?Ionic 4 - Angular- Google Maps - 如何根据显示的组件修改背景 Google Map 的视口?
【发布时间】:2019-10-31 09:42:29
【问题描述】:

我正在开发一个实现 GoogleMaps 的 Ionic/Angular 应用程序。

我希望我的应用在后台始终全屏显示 Google 地图。我希望组件能够在其上呈现,但我希望 Google 地图始终向我返回正确的目标/中心坐标。

这是一张解释我的问题的小图片:

已经尝试过的解决方案:

  1. 如果我在 Ionic 上以全屏的离子内容设置我的地图(这意味着它在页眉和页脚后面展开),我将无法访问显示的正确中心。此外,Google 徽标将不可见,这违反了他们的政策。

  2. 将 ion-header/content/footer 放在地图 div 中。那是行不通的。我无法解释为什么。

Google Maps js API 中是否有一种我只是没有找到的视口编辑工具?

【问题讨论】:

    标签: angular google-maps google-maps-api-3 viewport ionic4


    【解决方案1】:

    已解决

    由于 ion-content 的全屏功能目前似乎还没有功能(也许这个答案将来必须更正),我决定放弃 ion 标签。

    为了制作一个功能性的背景谷歌地图,我把它的 div 作为根。在里面我放置了 3 个 div 来制作页眉、内容和页脚,就像这篇文章中解释的那样:

    How to create div to fill all space between header and footer div

    我认为这是在解决问题,但我的 Google 地图无法再与用户交互,因为内容 div 正在捕获触摸事件。所以我遵循了这个技巧,并为我完成了工作:

    HTML “overlay” which allows clicks to fall through to elements behind it

    最后,为了在不改变实际地图大小的情况下更改我的地图视口大小,我使用了 Maps API 中包含的填充功能,它只填充相机而不是整个地图视图:

    Google Maps API JS - Map

    (我个人使用了ionic-native/google-maps的GoogleMapOptions接口,但还是一样的功能)

    希望这对任何人都有帮助。

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 2014-04-18
      • 2021-09-13
      相关资源
      最近更新 更多