2014-09-24 2 views
0

Я пытаюсь сравнить то, что находится в моем поле ввода автозаполнения, с форматированным выводом.Карты API получают город и страну

Я ограничусь автозаполнение автозаполнение с:

var options = { 
     types: ['(cities)'], 
    componentRestrictions: {country: "be"} 
    }; 

, а затем взять выходной город с formatted_address.

Все работает нормально, но для некоторых городов у меня есть число, которое добавляется в выходной файл, и я не могу его сравнить.

Пример:
-Этот сравнима
поле ввода показывает = Брюссель, Бельгия
Formatted_adress = Брюссель, Бельгия

-Этот не сравним
поле ввода показывает = Malonne, Belgique
Formatted_adress = 5020 Malonne, Belgique

Вопрос: Как получить точно такой же результат, как показанное поле ввода?

///////EDIT 

Я думал, что я решил эту проблему путем удаления этих номеров:

//Delete numbers and spaces before output if they exist 
while(from.charAt(0) == " " || (from.charAt(0) >= '0' && from.charAt(0) <= '9')) 
    { 
    from = from.substr(1); 
    } 

Но вы также имеют различные языки:
Пример:
поле ввода шоу = Antwerpen, België
выход = Anvers , Belgique

+0

Пожалуйста, напишите Ваше решение в качестве ответа и [принять его] (http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work) – geocodezip

+0

Я до сих пор не решена проблема. См. Новое редактирование – gr3g

ответ

0

Проблема заключалась в том, чтобы сравнить поле ввода со скрытым полем ввода в город.
Почему?
1.Typing Bruxelles
2. Выберите Bruxelles
3. скрытый город == Bruxelles, скрытый LatLong = (хх, хх)

Если представление -> OK

Если вводить блабла и не нажмите enter, . blabla будет полем ввода с предыдущим скрытым входом latlong.

Так что я хотел сравнить скрытый город с полем ввода города.

Решение:
при наборе текста -> очистить скрытые поля.

//Set from city hidden values to "" when typing again 
    var input1 = document.getElementById('connexion_inputcity'); 

    input1.onkeydown = function() { 
     var key = event.keyCode || event.charCode; 

     if(key == 8 || key == 46) 
      { 
      document.forms["inscription"]["check1"].value = ""; 
      document.forms["inscription"]["LatLongFrom"].value = ""; 
      } 
     }; 

    input1.onkeypress = function() { 
     document.forms["inscription"]["check1"].value = ""; 
     document.forms["inscription"]["LatLongFrom"].value = ""; 
    }; 


//Set to hidden hidden values to "" when typing again 
    var input2 = document.getElementById('connexion_inputNdCity'); 

    input2.onkeydown = function() { 
     var key = event.keyCode || event.charCode; 

     if(key == 8 || key == 46) 
      { 
      document.forms["inscription"]["check2"].value = ""; 
      document.forms["inscription"]["LatLongTo"].value = ""; 
      } 
     }; 

    input2.onkeypress = function() { 
     document.forms["inscription"]["check2"].value = ""; 
     document.forms["inscription"]["LatLongTo"].value = ""; 
    }; 
Смежные вопросы