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

Google Map v3 API报InvalidValueError: setPosition lat非数字问题排查

报错解决说明

问题根源

  • 错误触发自labelMarker初始化的代码段:Google Maps Marker的position参数要求传入LatLng实例 / 包含lat、lng数字属性的字面量,但你此处传入的是flightPath1100_0这个Polyline折线对象,完全不符合参数要求,因此触发类型错误。
  • 你后续mouseover事件中调用setPosition传入e.latLng的逻辑是正确的,不需要额外做parseFloat转换,报错仅来自初始化阶段的参数错误。

修复方案

只需要修改labelMarker的初始化逻辑即可,两种可选实现:

方案1:传入合法的初始经纬度

复用航线坐标数组的第一个点作为初始位置:

// create an invisible marker for the label listener
labelMarker = new google.maps.Marker({
  position: flightPlanCoordinates1100_0[0], // 替换为合法的经纬度值
  map: map,
  visible: false
});

方案2:初始化时不传入position,动态赋值

因为marker本身设置为不可见,初始化时不需要指定位置,等到mouseover触发时再第一次赋值即可:

// create an invisible marker for the label listener
labelMarker = new google.maps.Marker({
  map: map,
  visible: false
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:36:03