谷歌地图的css覆盖了我自己的样式,我该如何防止这种情况?



我正在使用带有Typescript的Angular 7.2.2。

我正在通过索引中的 <script> -tag 从"https://maps.googleapis.com/maps/api/js?key=myAPIkey"导入谷歌地图.html

脚本加载完成后,我可以看到我的一些样式被Google地图的样式覆盖了整个应用程序。

如何防止这种情况并确保 Google 地图的样式仅应用于我将在其中渲染地图的组件?

我尝试从显示组件中动态加载脚本,但显然样式封装仅适用于"styleUrls"参数提供的样式。

谢谢!

谢谢大家,我想我有问题的答案。

万一其他人绊倒了这个愚蠢的错误:

我使用角度材质

,而角度材质又使用Roboto Medium作为默认字体。

由于我没有安装正确的网络字体,我的应用程序使用 Arial 作为后备。

现在,当我加载Google地图脚本时,该脚本也使用Roboto并正确加载该字体,我的整个应用程序从Arial切换到Roboto。

这让我觉得样式被覆盖了。

(感谢洛伦兹处理我糟糕的写作:))

因此

,您在角度应用程序中使用的类在Google Maps API的样式中被命名为相同的东西。

您的样式按照您在angular.json文件中的顺序导入,然后您的 index.html 文件在初始化后加载其脚本,这发生在读取angular.json样式表之后。

因此,您的选择似乎是更改被覆盖的类的名称,以便Google不会覆盖它们,因为我不知道Google地图的NPM包与当前的Google地图保持同步,但是如果您找到一个,那也可能起作用。

相关内容

最新更新