2015-04-19 4 views
0

Я застрял на очень неприятной проблеме. Вот чего я пытаюсь достичь. Я читал широту и долготу в двух текстовых полях, а затем разбивал каждую пару на запятую, так как они разделены. Затем мне нужно проанализировать их и создать объект LatLng для создания маркера Google. Моя проблема по какой-то причине заключается в разделении строки. Я знаю, что все, что мне нужно сделать, это использовать метод String.split() для его достижения. Вот что я делаю:Разделительная строка для объекта LatLng

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. Что я делаю не так?? Любая помощь будет оценена.

ответ

1

String.split() возвращает массив, он не модифицирует строку, чтобы каким-то образом превратить ее в массив. Вы хотите

var parts = newString.split(","); 
var newLoc = new google.maps.LatLng(parseFloat(parts[0]),parseFloat(parts[1])); 
+0

спасибо. Должна была сама по себе усердствовать. Спасибо за вашу помощь, это работает. – user3044240

Смежные вопросы