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

如何从LatLng对象中读取纬度和经度值

问题:如何从Leaflet的LatLng对象中获取纬度和经度值?

我希望从LatLng对象中分别读取纬度和经度值。为此我编写了以下代码:

var latLng = L.marker(data[0]).getLatLng(); 
console.log(latLng); // 输出为 LatLng {lat: 45.285639154610315, lng: 20.27291721572189}
var lat = latLng.lat; // 此处报错
var lng = latLng.lng;
console.log(lat);

请问有谁知道如何正确获取纬度和经度值?


解答

Leaflet的LatLng对象支持两种方式获取经纬度:

  • 直接访问实例属性:latLng.lat(纬度)、latLng.lng(经度)
  • 调用内置实例方法:latLng.getLat()(获取纬度)、latLng.getLng()(获取经度)

你的代码报错大概率不是属性访问逻辑的问题,可先排查以下几点:

  1. 验证latLng类型:添加console.log(latLng instanceof L.LatLng),确认是有效的LatLng实例
  2. 检查data[0]合法性:确认它是[纬度, 经度]格式的数组,或是有效的LatLng对象

如果直接访问属性仍报错,可尝试改用方法调用的方式:

var latLng = L.marker(data[0]).getLatLng(); 
console.log(latLng);
var lat = latLng.getLat();
var lng = latLng.getLng();
console.log(lat, lng);

也可以用ES6解构赋值简化代码:

const { lat, lng } = L.marker(data[0]).getLatLng();
console.log(lat, lng);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:55:19