2010-12-09 4 views
1

Я использую геокодирование API Карт Google, чтобы превратить адрес в местоположение на карте. У меня он настроен как:Геокодирование API Карт Google

var address = document.getElementById ("address"). InnerText;

У меня есть мой адрес DIV установлен как

123 candycane переулок (ш /> северный полюс, Антарктида

Whenver Я положил
после первой строки, геокодирования не будет возвращать результаты Но когда я удаляю его и имею адрес как одну строку, геокодер работает отлично. Я думал, что innerText не учитывает HTML, например (br />. Есть ли способ сделать так, чтобы он пропускал перерыв строки?

С благодарностью

P.S. Я знаю, что мои разрывы строк имеют скобки в начале, но это потому, что мой пост не распознал разрыв строки в HTML.

ответ

2

.innerText не возвращает тег linebreak (br), как вы говорите, но возвращает символ новой строки (\ n).

Простое решение (заменить его пробелом):

var address = document.getElementById('address').innerText.replace(/\n/g, ' '); 

Edit, .Надеть() представляет собой метод на струнной объект, который принимает регулярное выражение в качестве первого параметра. «G» обозначает глобальный, что означает, что он должен заменить все вхождения \ n. Без него будет заменено только первое вхождение. Второй параметр - это строка подстановки.

+0

Я понимаю, что \ n - символ новой строки, но можете ли вы объяснить, что (/ \ n/g, ''), все это означает? Я новичок в javascript, поэтому я не уверен, что он делает. Спасибо – 2010-12-09 08:06:58

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