1

latを抽出したい。次のような文字列からの経度の値:

var data = "(-20.210696507479017, -70.14000177383423),(-20.21202551027535, -70.14246940612793),(-20.21385790460967, -70.14066696166992),(-20.21168319245841, -70.13901472091675)" 

これらのポイントの量が変わる可能性がある場合、これらのペアを抽出して配列にプッシュするにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

ペアを分割してから、各ペアを分割して値を解析します。latこれにより、数値であるaとlngプロパティを持つオブジェクトの配列が生成されます。

var coors = data.split('),(');
for (var i = 0; i < coors.length; i++) {
  var c = coors[i].replace('(', '').replace(')', '').split(',');
  coors[i] = { lat: parseFloat(c[0]), lng: parseFloat(c[1]) };
}

デモ: http: //jsfiddle.net/Guffa/EV2h4/

于 2013-01-24T17:53:58.053 に答える
0

それをjson文字列配列に変換してから、オブジェクトに解析してみませんか。

var data = "(-20.210696507479017, -70.14000177383423),(-20.21202551027535, -70.14246940612793),(-20.21385790460967, -70.14066696166992),(-20.21168319245841, -70.13901472091675)";
var arr = JSON.parse("[" + data.replace(/[)(]/g, "") + "]");
for(var x=0; x<arr.length-1; x+=2)
    console.log("lat " + arr[x] + ", lon " + arr[x+1]);

x + = 2を編集、良いキャッチIftah

于 2013-01-24T17:54:57.070 に答える