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

react-map-gl运行报@math.gl/web-mercator断言失败错误如何解决

问题根因

该报错是因为给Marker组件传入了无效经度值,触发了@math.gl/web-mercator库内部的经纬度合法性校验断言。

你代码中存在拼写错误:<Marker>组件的longitude属性绑定了不存在的p.ling字段,值为undefined,经纬度转换时直接触发校验失败。而同一份数据在下方<Popup>组件中绑定的是正确的p.long字段,可直接对照修正。

修复方案

找到代码中Marker组件的定义,将longitude={p.ling}修改为longitude={p.long}即可,修改后对应代码片段如下:

<Marker 
  latitude={p.lat} 
  longitude={p.long} 
  offsetLeft={-20} 
  offsetTop={-10}>
  <RoomIcon style={{ fontSize: viewport.zoom *7, color:"slateblue"}}/> 
</Marker>

拓展校验方案(可选)

如果后续还出现同类报错,可增加数据合法性过滤,避免空值/无效值传入地图组件:

{/* 仅渲染经纬度都有有效值的点位 */}
{Pins.filter(p => typeof p.lat === 'number' && typeof p.long === 'number').map(p => (
  // 原有Marker、Popup渲染逻辑
))}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:45:03