2015-06-13 98 views
0

我正在創建geofencing精選網站。所以我需要計算一些表達式。我有兩個與經度和緯度有關的值。如何計算javascript中的兩個值

爲e.g:var value = '(41.878113,-87.629798)'

如何分離上述兩個值在JavaScript

+0

的是,即使有效的JavaScript? –

+0

這是無效的,但我用「var myLatlng2 = new google.maps.LatLng(42.878113,-87.629798);」並通過警報顯示。所以它的顯示輸出「(42.878113,-87.629798)」 – Omkar

+0

我只是想從括號中分離出這兩個值 – Omkar

回答

0

這不是有效的JavaScript。(帖子被編輯,這是不是第一次有效),你可以做

一種方法是把它定義爲一個數組:

var cords = [41.878113, -87.629798]; 

從這裏,你可以參考它像這樣:

cords[0]; // Out: 41.878113 
cords[1]; // Out: -87.629798 
+0

var value =「(41.878113,-87.629798)」。是腳本 – Omkar

+0

這是完全有效的javascript – naomik

+0

@naomik,他編輯的問題,它不是一個字符串之前。查看原始帖子中的編輯歷史記錄。 –

0

谷歌地圖LatLng API提供了.lat().lng()函數來單獨訪問它們。您可以使用它們像這樣:

var coords = new google.maps.LatLng(42.878113,-87.629798); 
console.log(coords.lat()); // 42.878113 
console.log(coords.lng()); // -87.629798  
+0

如何實現該API – Omkar

0

一個簡單的方法將字符串在,分離,然後除去非數字字符

var value = '(41.878113,-87.629798)'; 

var parts = value.split(','); 
//=> ["(41.878113", "-87.629798)"] 

var lat = parts[0].replace(/[^\d.-]/g, ''); 
//=> "41.878113" 

var lng = parts[1].replace(/[^\d.-]/g, ''); 
//=> "-87.629798" 

現在你可以在某種使用它們計算

calculateSomething(lat, lng); 

這將是相同的

calculateSomething("41.878113", "-87.629798"); 
+0

感謝naomik ...! – Omkar

+0

這是使用:「var j ='(63572,3486254)'; var parts = j.split(','); var lat = parts [0] .replace(/ [^ \ d.-] /G,'');」但這不適用於:「var myLatlng4 = new google.maps.LatLng(41.878114,-87.629798); var lng = parts [1] .replace(/ [^ \ d .-]/g,''); var parts = myLatlng4.split(','); var lat = parts [0] .replace(/ [^ \ d .-]/g,'');「 – Omkar

0

如果value是一個字符串,總是那樣的格式,你想包含字符串格式中的2個值的數組,這個例子應該足夠

var value = '(41.878113,-87.629798)'; 
 

 

 
document.getElementById('out').textContent = JSON.stringify(value.slice(1, -1).split(','), null, 2);
<pre id="out"></pre>