Показать сообщение отдельно
  #1 (permalink)  
Старый 02.07.2008, 19:33
Интересующийся
Отправить личное сообщение для subaru Посмотреть профиль Найти все сообщения от subaru
 
Регистрация: 05.07.2007
Сообщений: 23

передача массива с сервера
задача: отобразить маркеры на GoogleMaps

как решается: используем xajax, который с сервера передает данные:

outputLayer = {

			    "zoom": [0, 17],

			    "places": [   

				       	{"name": "  mail.ru ",

						 "icon": ["chopper_helmet", "chopper_helmet_shadow"],

						 "posn": [55.62609, 38.00091 ],

						 "html": "<table width=\'250\'>		<tr><td>			<img src=\'/upload/user_avatars/noimage_x48_y48_b1

.jpg\'>		</td>		<td align=\"left\">			<strong>calfer</strong></span><br />Kawasaki ZX-6RR 2005<br />

<a href=\"http://motofriends.ru/users/profile/userid/807/\" target=\'_blank\'>смотреть профиль</a>		

</td>		</tr></table>"

				       },



Далее, в JS-коде мы используем переданную переменную outputLayer:


for (var i=0; i < outputLayer.length; i++) 
   {
        var layer = outputLayer[i];
        var markers = [];
            ....
          var marker = createMarker(posn,title,place["html"] ,icon); 
   } 
   ...



Проблема:
не работает в IE6 ( 7 не тестил еще)


Работает в Firefox

Как ругается IE: outputLayer - определение отсутствует.

Определения как такового нет, т.к. это передается с сервера как переменная.

пробовал прописать в js как: var outputLayer = ' ' ;

все равно не работает.

Еще думал загнать данные в <input type="hidden" name="" value="" >

а потом по
var outputLayer = document.getElementById('outputLayer');
	  alert(outputLayer.value);


выводит полученные данные ( outputLayer = {

"zoom": [0, 17],
....
)


и все равно не работает

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

Последний раз редактировалось subaru, 02.07.2008 в 20:14.
Ответить с цитированием