我陷入了一个非常烦人的问题。这是我想要实现的目标。我在两个文本框中读取纬度和经度,然后将它们分别用逗号分隔,就像它们被分隔的那样。然后我需要解析它们并创建一个LatLng对象来创建一个Google标记。出于某种原因我的问题是拆分字符串。我知道我需要做的就是使用String.split()方法来实现它。这是我的工作:
Lets say the value in text box is 26.2338, 81.2336
//Reading the value in text boxes on HTML form
var sourceLocation =document.getElementById("source").value;
//Remove any spaces in between coordinates
var newString =sourceLocation.replace(/\s/g, '');
//Split the string on ,
newString.split(",");
//Creating latitude longitude objects of the source and destination
var newLoc =new google.maps.LatLng(parseFloat(newString[0]),parseFloat(newString[1]));
现在我无法理解为什么newString [0]只给了我2而它应该给26.2338。同样,newString [1]给出6而不是81.2336。我究竟做错了什么??任何帮助将不胜感激。
答案 0 :(得分:1)
String.split()返回一个数组,它不会修改字符串以某种方式使它成为一个数组。你想要
var parts = newString.split(",");
var newLoc = new google.maps.LatLng(parseFloat(parts[0]),parseFloat(parts[1]));