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

Leaflet Routing Machine语言无法切换为法语问题求助

解决Leaflet Routing Machine法语语言设置无效的问题

我之前也碰到过类似的问题,你只设置Formatter的language是不够的,得从语言包加载和路由服务语言配置两个方面入手,具体方案如下:

1. 必须加载LRM的法语语言包

Leaflet Routing Machine的界面文本(比如按钮、提示信息)是通过单独的语言包实现本地化的,默认只包含英文。你需要在LRM主脚本之后引入法语语言包:

如果用CDN加载,添加这行代码:

<script src="https://unpkg.com/leaflet-routing-machine@latest/dist/lrm-fr.js"></script>

如果是npm安装的项目,可以导入语言模块:

import 'leaflet-routing-machine/dist/lrm-fr';

2. 配置路由服务返回法语文本

默认的OSRM路由服务会返回英文的路线提示,你需要在服务初始化时明确指定语言参数,让服务端返回法语内容:

修改你的代码,添加service配置项:

L.Routing.control({
  waypoints: [
    L.latLng(48.8534, 2.3488),
    L.latLng(44.837789, -0.57918)
  ],
  routeWhileDragging: true,
  show: true,
  formatter: new L.Routing.Formatter({ 
    units: 'metric', 
    language: 'fr' 
  }),
  autoRoute: true,
  // 配置OSRM服务使用法语
  service: new L.Routing.OSRMv1({
    language: 'fr'
  })
}).addTo(this.mapInstance);

为什么之前的代码无效?

你只设置了Formatter的语言,它负责格式化距离、时间等数值,但界面元素的文本需要语言包来替换,路线的指令文本则由路由服务端决定,这两个环节都配置好才能完全显示法语。

内容的提问来源于stack exchange,提问作者Soukaina EL HAYOUNI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:07:16