我正在使用 javascript,并且我有字符串形式的 GPS 坐标,我正在尝试将它们放入google.maps.LatLng(59.327383, 18.06747)
格式中,但在决定如何做时遇到了麻烦。我有一个变量:
GPSlocation = "(37.700421688980136, -81.84535319999998)"
我需要它进入 google.maps.LatLng(num, num) 格式。我怎样才能把这个字符串放在那里?
谢谢!
我正在使用 javascript,并且我有字符串形式的 GPS 坐标,我正在尝试将它们放入google.maps.LatLng(59.327383, 18.06747)
格式中,但在决定如何做时遇到了麻烦。我有一个变量:
GPSlocation = "(37.700421688980136, -81.84535319999998)"
我需要它进入 google.maps.LatLng(num, num) 格式。我怎样才能把这个字符串放在那里?
谢谢!
您可以使用标准字符串操作来提取值:
var GPSlocation = "(37.700421688980136, -81.84535319999998)";
var LatLng = GPSlocation.replace("(", "").replace(")", "").split(", ")
var Lat = parseFloat(LatLng[0]);
var Lng = parseFloat(LatLng[1]);
google.maps.LatLng(Lat, Lng)
您可以从中创建一个数组(使用JSON.parse
),然后使用apply
将坐标“提供”给该方法:
GPSlocation = JSON.parse( "(37.700421688980136, -81.84535319999998)"
.replace(/^\(/,'[')
.replace(/\)$/,']')
);
google.maps.LatLng.apply(null,GPSlocation);
或者,您可以替换括号并使用split
来创建一个数组,并LatLng
以常规方式调用该方法。此方法需要Number
对 Array 值进行额外的转换。
GPSlocation = "(37.700421688980136, -81.84535319999998)"
.replace(/^\(|\)$/,'')
.split(',');
google.maps.LatLng(+GPSlocation[0],+GPSlocation[1]);
要从字符串中检索坐标数组,您还可以使用:
GPSlocation = ''.slice.call('(37.700421688980136, -81.84535319999998)',
1,this.length-1)
.split(',')
.map(function(a){return +a;});
google.maps.LatLng(GPSlocation[0],GPSlocation[1]);