<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'у?