You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Google Maps自定义字体配置方法咨询

Flutter中让Google Maps使用自定义字体的解决方案

由于Google Maps在Flutter中是以原生PlatformView形式渲染的,无法直接通过Flutter层的字体配置修改,需要分别针对Android和iOS原生端进行设置:

Android端设置

  • 将自定义字体文件(如custom_font.ttf)复制到Android项目的app/src/main/assets/fonts/目录(目录不存在则手动创建)。
  • 打开res/values/styles.xml,找到应用使用的主题(通常是Theme.XXX开头的节点),添加字体配置:
    <item name="android:fontFamily">@font/custom_font</item>
    
    (注:custom_font为字体文件名,无需带后缀;Android 8.0+可直接使用该配置,低版本需额外兼容)
  • 若只想让Google Maps视图单独应用该字体,可创建仅包含字体配置的自定义主题,在初始化MapView时指定该主题。

iOS端设置

  • 在Xcode中,将自定义字体文件拖入iOS项目,确保勾选对应的应用目标("Add to targets")。
  • 打开Info.plist,添加Fonts provided by application数组字段,将字体文件名(如CustomFont.ttf)添加到数组中。
  • 让GMSMapView应用该字体的两种方式:
    1. 在AppDelegate.swift中设置全局字体,让所有原生视图(包括GMSMapView)继承:
      UILabel.appearance().font = UIFont(name: "CustomFont", size: UIFont.systemFontSize)
      
    2. 自定义FlutterPlatformView,在创建GMSMapView实例时直接设置其相关控件的字体。

注意事项

Google Maps SDK中部分文本(如部分地名、POI标签)由Google服务端渲染后返回,这类文本无法通过本地字体配置替换,仅能覆盖SDK本地渲染的文本部分。

内容的提问来源于stack exchange,提问作者DeKekem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:52:09