Показать сообщение отдельно
  #2 (permalink)  
Старый 16.05.2012, 11:02
Новичок на форуме
Отправить личное сообщение для MaxyMax Посмотреть профиль Найти все сообщения от MaxyMax
 
Регистрация: 26.04.2012
Сообщений: 2

Вроде сделал, но работает не так...
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript" charset="utf-8"></script>   
<script src="https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.crossdomain.js" type="text/javascript"></script>    
 
  <script type="text/javascript">
function drawCentrdorData(holder, name, id, lon, lan){
			var placemark = new YMaps.Placemark(new YMaps.GeoPoint(lon, lan), {style: "default#campingIcon"});
			//placemark.setBalloonOptions({});
			placemark.setBalloonContent("<b>"+name+"</b><div><iframe height=\"420\" width=\"400\" scrolling=\"no\" frameborder=\"0\" src=\"http://www.centrdor.ru/info/portal_service/image.ashx?id="+id+" \"></iframe></div>");
			//placemark.setBalloonOptions({maxWidth: 400, maxHeight: 3000});
			holder.addOverlay(placemark);
		}
// Создание обработчика для события window.onLoad
        window.onload = function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
		var map = new YMaps.Map( document.getElementById("YMapsID") );
// Установка для карты ее центра и масштаба
		map.setCenter(new YMaps.GeoPoint(37.617671,55.755768), 4);
			map.addControl(new YMaps.SearchControl({geocodeOptions: {geocodeProvider: "yandex#pmap"}}));
			YMaps.MapType.PMAP.getName = function () { return "Народная"; }
			map.addControl(new YMaps.TypeControl([
            YMaps.MapType.MAP,
            YMaps.MapType.SATELLITE,
            YMaps.MapType.PHYBRID,
            YMaps.MapType.PMAP
        ], [0, 1, 2, 3]));
	map.addControl(new YMaps.ToolBar());
	map.addControl(new YMaps.Zoom());
//	map.addControl(new YMaps.MiniMap());
	map.addControl(new YMaps.ScaleLine());
	map.enableScrollZoom();
	map.addControl(new YMaps.SearchControl());	        
			var traffic = new YMaps.Traffic.Control();                                                             
			map.addControl(traffic);
function getCentrdorCam() {
    requestCrossDomainJSON(
 	'http://www.centrdor.ru/info/portal_service/query.ashx?q=camera',
        function(results) {
            var i, t = $('#camera');
            for (var t = 0; t < results.camera.length; t++) {
//		alert(results.camera[t].road_name);
	idimg=getid(results.camera[t].pos_lat,results.camera[t].pos_lon);
//	idimg=getid(55.0437567958206,37.5590343300976);
//		alert("idimg=",idimg);
drawCentrdorData(map,results.camera[t].road_name,idimg,results.camera[t].pos_lon, results.camera[t].pos_lat);

            }
        }
    );
    return false;
}

function getid(plat,plon) {
	urlj='http://www.centrdor.ru/info/portal_service/query.ashx?q=pos&lat='+plat+'&lon='+plon;
				//alert(urlj);
    requestCrossDomainJSON(
 	urlj,
        function(results) {
            var i, t = $('#camera');
return results.camera[0].image_id;
        }
    );
    return false;
}
getCentrdorCam();


Юзаем YQL, Первая функция отрабатывает прекрасно, яхуапис возвращает координаты точек, они ставятся на карту,но! idimg (в getid) не возвращается. При этом если просто запустить getid с закоменченными координатами-все прекрасно возвращается. Что я сделал не так?
ЗЫ Да, и может кто подскажет, можно ли избавиться от YQL в данном коНькретном случае кроссдоменного запроса к centrdor'у?
Ответить с цитированием