簡體   English   中英

在JavaScript中,如何從字符串中提取緯度和經度

[英]In JavaScript, How to extract latitude and longitude from string

我從數據庫中提取一個字符串,需要分別解析為緯度和經度,字符串定義為“點”,格式如下:

(2.340000000,-4.50000000)

我試圖刪除括號,然后用方法split()解析它們但我還沒有能夠提出正確的表達式來完成工作:

到目前為止,我已經嘗試了很多替代品,並且

var latlong = "(2.34000000, -4.500000000)"
latlong.replace('/[\(\)]//g','');
var coords = latlong.split(',');
var lat = coords[0];
var long = coords[1];

如果我跑了,我得到的只是: NaN, -4.500000

我究竟做錯了什么? 謝謝!

似乎工作 ,但你有一個額外的斜線

var value = '(2.340000000,-4.50000000)';

//you had an extra slash here
//           ''''''''''''''''v
value = value.replace(/[\(\)]/g,'').split(',');

console.log(value[0]);
console.log(value[1]);​

您可以剪切分割,只使用匹配函數與正則表達式\\((\\-?\\d+\\.\\d+), (\\-?\\d+\\.\\d+)\\) ,它將返回兩個坐標。 Firebug控制台輸出:

>>> "(2.34000000, -4.500000000)".match(/\((\-?\d+\.\d+), (\-?\d+\.\d+)\)/);
["(2.34000000, -4.500000000)", "2.34000000", "-4.500000000"]

您可以嘗試使用math函數:

var latlong = "(2.34000000, -4.500000000)"
var coords = latlong.match(/\((-?[0-9\.]+), (-?[0-9\.]+)\)/);

var lat = coords[1];
var long = coords[2];
alert('lat: ' + lat);
alert('long: ' + long);
 var latlong = "(2.34000000, -4.500000000)"
 var coords = latlong.replace(/[\(\) ]/g,'').split(',');

 console.log(coords[0])
 console.log(coords[1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM