Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 4407 сообщений
Cообщения с меткой

панорамы - Самое интересное в блогах

Следующие 30  »
Trang

ДТП по Кореновскому району 21-22 июля 2016 года — Виртуальный Кореновск

Пятница, 22 Июля 2016 г. 13:59 (ссылка)
mykor.ru/maps/news/1247.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 19 июля 2016 года. Есть пострадавшие — Виртуальный Кореновск

Пятница, 22 Июля 2016 г. 13:52 (ссылка)
mykor.ru/maps/news/1246.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Профилактическое мероприятие «Безопасная улица» — Виртуальный Кореновск

Пятница, 22 Июля 2016 г. 13:44 (ссылка)
mykor.ru/maps/events/1276.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Престольный праздник в станице Сергиевской — Виртуальный Кореновск

Среда, 20 Июля 2016 г. 15:44 (ссылка)
mykor.ru/maps/news/1245.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Христианство_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

API Яндекс.Панорам: как сделать свою виртуальную прогулку или просто довести человека от метро

Вторник, 19 Июля 2016 г. 16:14 (ссылка)

Нас очень давно просили сделать API, который позволяет встраивать Панорамы Яндекса на свои сайты, и мы, наконец, смогли это сделать. Даже больше: наш API даёт возможность создавать собственные панорамы.



В этом посте я расскажу, что вообще надо знать, чтобы делать такие виртуальные прогулки. Почему сделать API для них было не так-то просто, как мы разрешали разные встающие на пути проблемы и подробно объясню, что вы сможете сделать с помощью нашего API (больше, чем может на первый взгляд показаться).





Движок



Сервис панорам запустился на Яндекс.Картах в далеком сентябре 2009 года. Поначалу это были лишь несколько панорам достопримечательностей и работали они, как вы, наверное, догадываетесь, на Flash. С тех пор много воды утекло, панорам стало несколько миллионов, начали быстро расти мобильные платформы, а Flash туда так и не пробрался. Поэтому примерно в 2013 году мы решили, что нам нужна новая технология. И основой для этой технологии стал HTML5.



API, с которого мы начинали, — это Canvas2D. Сейчас это может показаться странным, но в 2013 году этот выбор был вполне разумен. WebGL был стандартизован всего двумя годами раньше, толком еще не добрался до мобильных (в iOS, например, WebGL работал только в уже почти почившем в бозе iAd), да и на десктопах работал не очень стабильно. Читатель может мне возразить, что надо было все делать на CSS 3D, как это было тогда популярно. Но с помощью CSS 3D можно нарисовать только кубическую панораму, в то время как все панорамы Яндекса сферические (хранящиеся в равнопромежуточной проекции).



Это же было и самой главной технической трудностью в разработке. Дело в том, что корректно и точно спроецировать сферическую панораму на экран непросто из-за нелинейности этого преобразования. Наивная реализация такой проекции требовала бы целого вороха тригонометрических вычислений на каждый пиксель экрана — ведь нужно найти соответствующую ему точку в панорамном изображении и определить его цвет. Кроме того, Canvas 2D не предоставляет эффективного способа манипулировать каждым пикселем изображения по отдельности.



На помощь в этой непростой ситуации приходит один из самых старых трюков в компьютерной графике — линейная интерполяция. Мы не будем для каждого пикселя экрана точно вычислять координаты соответствующей точки в панорамном изображении. Мы это сделаем лишь для некоторых пикселей, которые выберем заранее — а для остальных станем находить координаты, интерполируя между уже рассчитанными. Вопрос лишь в том, как выбрать эти пиксели.



Как уже было замечено, записывать цвет изображения попиксельно в Canvas2D неудобно, но удобно работать с изображениями и их двумерными трансформациями. Кроме того, такие трансформации фактически реализуют интерполяцию за нас. Именно их и решено было использовать в качестве основы алгоритма рендеринга панорамы. А так как двумерная линейная трансформация однозначно задается двумя триплетами точек, один на экране, а другой на панорамном изображении, то выбор набора точек, для которых мы будем считать проекцию точно, получается сам собой: будем разбивать панорамную сферу на треугольники. Итоговый алгоритм рендеринга получился следующим:



Алгоритм рендеринга на Canvas2D



Написав все это и запустив, я увидел нечто, хорошо описываемое словом «слайдшоу». Фреймрейт оказался совершенно неприемлемым. Попрофилировав, я нашел, что больше всего времени отъедают функции save() и restore() Canvas 2D контекста. Откуда они взялись? Из особенности работы с обрезкой в Canvas2D. К сожалению, чтобы иметь возможность сбросить текущую обрезку и выставить новую, необходимо сохранить перед выставлением состояние контекста (это как раз save()), а после всего необходимого рисования восстановить сохраненное состояние (а это уже restore()). А так как эти операции работают со всем состоянием

контекста, они недешевы. Кроме того, обрезку-то мы делаем каждый раз совершенно одинаковую (после инициализации разбиение сферы на треугольники и их наложение на панорамное изображение не меняются). Есть смысл это закешировать!



Сказано — сделано. После генерации триангулированной сферы мы «вырезаем» каждый треугольник из панорамного изображения и сохраняем его в отдельном кеше-канвасе. Остальная часть такого кэша при этом остается прозрачной. После такой оптимизации удалось получать 30—60 кадров в секунду даже на мобильных устройствах. Из этого опыта можно извлечь следующий урок: при разработке рендеринга на Canvas 2D все, что можно, кэшируйте и пререндерите. А если что-то вдруг нельзя — делайте так, чтоб было можно, и тоже пререндерите.



Нарезка кэшей треугольников



У любого кеширования (как и у многих вещей в этой жизни) есть и обратная сторона: неизбежно растет потребление памяти. Именно это и произошло с рендерингом панорамы. Возросшие аппетиты породили множество проблем. Самыми заметными можно назвать падения браузеров даже на декстопных платформах, а также довольно медленный старт. В конце концов, устав бороться с этими проблемами, мы отказались от репроецирования панорамного изображения на Canvas 2D и пошли другим путем. Но он уже совершенно не интересный :)



Однако еще до того мы начали смотреть с сторону WebGL. К этому нас подтолкнули разные причины, главной из которых, пожалуй, была iOS 8, в который WebGL заработал в Safari.



Главной проблемой при разработке WebGL-версии рендеринга был размер панорам. Панорамное изображение целиком не лезло ни в одну текстуру. Эту проблему мы снова решали, руководствуясь принципом «руководствуйся старыми как мир принципами», и разделили панорамную сферу на сектора. Каждому сектору соответствует своя текстура. При этом для экономии памяти и ресурсов GPU невидимые сектора полностью удаляются. Когда они должны на экране появиться вновь, данные для них снова перезагружаются (обычно из кеша браузера).



Встраивание панорам



Встраивание панорам с помощью API Карт начинается с подключения нужных модулей. Это можно сделать двумя способами: либо указав их в параметре load при подключении API, либо с помощью модульной системы (в скором времени мы добавим модули панорам в загружаемый по умолчанию набор модулей).







Перед началом работы с панорамами необходимо убедиться, что браузер пользователя поддерживается движком. Это можно сделать с помощью функции ymaps.panorama.isSupported:



if (!ymaps.panorama.isSupported()) {
// Показываем пользователю сообщение, скрываем функциональность
// панорам, etc.
} else {
// Работаем с панорамами.
}


Чтобы открыть панораму, нам сначала надо получить ее описание с сервера. Это делается с помощью функции ymaps.panorama.locate:



ymaps.panorama.locate(
[0, 0] // координаты панорамы
).done(function (panoramas) {
// ...
});


Результатом, которым разрешится промис, возвращаемый вызовом ymaps.panorama.locate, будет массив панорам, находящихся в некоторой окрестности переданной точки. Если ни одной такой панорамы нет, массив будет пуст. Если таких панорам будет найдено несколько, они будут отсортированы по расстоянию от переданной точки. Первая при этом будет ближайшей.



Еще можно запрашивать воздушные панорамы:



ymaps.panorama.locate(
[0, 0], // координаты панорамы
{ layer: 'yandex#airPanorama' }
).done(function (panoramas) {
// ...
});


Получив описание панорамы, мы можем создать плеер, который отобразит ее на странице:



var player = new ymaps.panorama.Player(
'player', // ID элемента, в котором будет открыт плеер
panorama // Панорама, которую мы хотим отобразить в плеере
);


И мы увидим на странице:



Плеер панорам



Самый быстрый и простой способ открыть панораму — это функция ymaps.panorama.createPlayer:



ymaps.panorama.createPlayer(
'player', // ID DOM-элемента, в котором будет открыт плеер
[0, 0] // Координаты панорамы, которую мы хотим открыть
).done(function (player) {
// ...
});


При этом можно указать одну или несколько опций третьим параметром:



ymaps.panorama.createPlayer(
'player',
[0, 0],
{
// Слой, в котором искать панораму
layer: 'yandex#airPanorama',
// Направление взгляда
direction: [120, 10],
// Угловой размер видимой части панорамы
span: [90, 90],
// Набор контролов
controls: ['zoomControl', 'closeControl']
}
).done(function (player) {
// ...
});


После создания плеер предоставляет компактный API для управления отображением панорам и подписки на пользовательские события. Но, как мне кажется, это не самая интересная возможность API панорам.



Свои панорамы



Пожалуй, самая интересная возможность, которую дает API, это создание собственных панорам и встраивание их на сайт.



Любая панорама начинается со съемки и подготовки панорамного изображения. Для съемки можно воспользоваться специальным устройством, обычным фотоаппаратом или даже смартфоном. Главное, чтобы результатом съемки и склейки была сферическая панорама в равнопромежуточной проекции. Например, стандартное приложение камеры на Android умеет снимать и склеивать панорамы в нужной проекции. Именно им мы и воспользовались для съемки панорам нашего уютного опенспейса.



После того как мы сняли панорамное изображение, необходимо его подготовить к отображению в плеере. Для этого нам нужно разрезать его на тайлы. Кроме того, мы можем подготовить изображения нескольких разных размеров для разных уровней мастабирования. Плеер будет выбирать самый подходящий уровень для текущего размера DOM-элемента, в котором открыт плеер, и угловых размеров видимой области панорамы. А если самый маленький уровень меньше 2048 пикселей по ширине изображения, он будет использован для создания «эффекта прогрессивного джипега». Плеер подгрузит тайлы этого уровня с самым высоким приоритетом и будет показывать их там, где нет тайлов лучшего качества (например, если они еще не загружены или были вытеснены из памяти и пока не перезагрузились).



Для нарезки изображений на тайлы можно воспользоваться любым ПО (при наличии определенной усидчивости — хоть Paint). Размеры тайлов должны быть степенями двойки (те из вас, кто работал с WebGL, думаю, догадываются, откуда растут ноги у этого ограничения). Я воспользовался ImageMagick:



# Сначала немного растянем исходное изображение так, чтоб оно разбивалось
# на целое число тайлов по горизонтали (по вертикали это, кстати, не обязательно).
$ convert src.jpg -resize 7168x3584 hq.jpg

# Разрежем изображение на тайлы размером 512 на 512 пискелей.
$ convert hq.jpg -crop 512x512 \
-set filename:tile "%[fx:page.x/512]-%[fx:page.y/512]" \
"hq/%[filename:tile].jpg"

# Подготовим уровень масштабирования низкого качества для «эффекта
# прогрессивного джипега». Он будет состоять из одного тайла, поэтому его
# не надо будет разрезать.
$ convert hq.jpg -resize 512x256 lq/0-0.jpg


Давайте наконец напишем уже какой-то код для нашей панорамы. API — это система связанных между собой интерфейсов. Эти интерфейсы описывают объект панорамы и все связанные с ним.



Интерфейсы



Давайте теперь разберем эту картинку по сущностям.



Объект панорамы должен реализовывать интерфейс IPanorama. Чтобы написать свой класс панорамы было проще, сделан абстрактный класс ymaps.panorama.Base. Он предоставляет разумные реализации по умолчанию для некоторых методов IPanorama, а также метод validate, который проверяет, удовлетворяет ли панорама ограничениям, накладываемым плеером (например, является ли указанный размер тайлов степенью двойки). Давайте им и воспользуемся.



function Panorama () {
Panorama.superclass.constructor.call(this);
// ...
// И проверим, что мы все делаем правильно.
this.validate();
}

ymaps.util.defineClass(Panorama, ymaps.panorama.Base, {
// Методы, возвращающие данные панорамы.
});


Начнем мы с того, что опишем плееру геометрию панорамы. Для этого нужно реализовать метод getAngularBBox, возвращающий, судя по документации, массив из четырёх чисел. Каков смысл этих чисел? Чтобы ответить на этот вопрос, вспомним про то, что панорама у нам сферическая, то есть наложенная на сферу. Чтобы описать положение панорамного изображения на сфере, необходимо выбрать некоторые «опорные» точки. Обычно для прямоугольника (а панорамное изображение, не будучи на сфере, как раз им и является, как и любое изображение в компьютере) выбирают координаты двух его противоположных углов. В нашем случае этот подход продолжает работать и на сфере, ведь вертикальные стороны изображения становятся при наложении меридианами, а горизонтальные – параллелями. Это значит, что каждая сторона прямоугольника имеет собственную угловую координату, общую для всех точек этой стороны. Именно эти координаты сторон и составляют массив, возвращаемый методом getAngularBBox, определяя своего рода сферический прямоугольник, ограничивающий панораму (отсюда и названия метода).



Плеер накладывает важное ограничение на геометрию панорамы (а значит — на само панорамное изображение): панорамное изображение должно смыкаться на сфере по горизонтали, образуя полный круг. Для значений, возвращаемых методом getAngularBBox, это значит, что разница между правой и левой угловой границей панорамы должна составлять 2

https://habrahabr.ru/post/305846/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 18 июля 2016 года — Виртуальный Кореновск

Вторник, 19 Июля 2016 г. 17:14 (ссылка)
mykor.ru/maps/news/1244.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 16 июля 2016 года. Погиб 22-летний водитель автомобиля — Виртуальный Кореновск

Вторник, 19 Июля 2016 г. 17:08 (ссылка)
mykor.ru/maps/news/1243.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Канатоходец, лётчик и легенда мотокросса. Смотрим! — Виртуальный Кореновск

Пятница, 16 Июля 2016 г. 00:07 (ссылка)
mykor.ru/video/interesnoe-i...kross.html

Что объединяет канатаходца-экстремала, легенду мотокросса и специализирующуюся на фигурах высшего пилотажа летчицу? Конечно же, совместный трюк, в рамках которого самолет должен пролететь под...
#Видео_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 13 июля 2016 года. Погиб водитель мотоцикла — Виртуальный Кореновск

Пятница, 15 Июля 2016 г. 14:02 (ссылка)
mykor.ru/maps/news/1242.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 9 июля 2016 года. Пострадал ребёнок-пассажир — Виртуальный Кореновск

Пятница, 15 Июля 2016 г. 14:02 (ссылка)
mykor.ru/maps/news/1241.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Парень - красава!!! Коллекторы до сих пор в шоке! — Виртуальный Кореновск

Четверг, 14 Июля 2016 г. 14:59 (ссылка)
mykor.ru/video/kvn/paren-kr...-v-sh.html

Парень - красава!!! Коллекторы до сих пор в шоке!
#Видео_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Без заголовка

Четверг, 14 Июля 2016 г. 14:57 (ссылка)
mykor.ru/video/kvn/-18-gopn...-a-on.html

#Видео_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Прощание с героем — Виртуальный Кореновск

Среда, 13 Июля 2016 г. 22:13 (ссылка)
mykor.ru/maps/news/1240.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Христианство_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Престольный праздник в Петропавловском храме — Виртуальный Кореновск

Среда, 13 Июля 2016 г. 22:13 (ссылка)
mykor.ru/maps/news/1239.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Христианство_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Как уберечь свое жилище от квартирной кражи — Виртуальный Кореновск

Среда, 13 Июля 2016 г. 14:16 (ссылка)
mykor.ru/maps/news/1238.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

12 июля 2016 года на центральной площади Кореновска состоится прощание с погибшим в Сирии командиром 393 авиационной базы Ряфагатем Хабибуллиным — Виртуальный Кореновск

Понедельник, 11 Июля 2016 г. 13:37 (ссылка)
mykor.ru/maps/events/1274.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
ЗАВТРА. ПРИХОДИТЕ ВСЕ #Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Престольный праздник в хуторе Бураковском — Виртуальный Кореновск

Воскресенье, 10 Июля 2016 г. 22:27 (ссылка)
mykor.ru/maps/news/1234.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Христианство_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Святые благоверные князь Петр и княгиня Феврония — Виртуальный Кореновск

Суббота, 09 Июля 2016 г. 09:13 (ссылка)
mykor.ru/maps/news/1232.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Христианство_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Православный поезд продолжает путь — Виртуальный Кореновск

Суббота, 09 Июля 2016 г. 08:39 (ссылка)
mykor.ru/maps/news/1231.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Христианство_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Информационно-профилактическая акция «Отдых без происшествий» — Виртуальный Кореновск

Пятница, 08 Июля 2016 г. 15:33 (ссылка)
mykor.ru/maps/news/1229.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 7 июля 2016 года. Наезд на пешехода — Виртуальный Кореновск

Четверг, 07 Июля 2016 г. 16:26 (ссылка)
mykor.ru/maps/news/1228.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

Как направить материнский капитал на покупку товаров и оплату услуг для социальной адаптации детей-инвалидов — Виртуальный Кореновск

Среда, 06 Июля 2016 г. 16:57 (ссылка)
mykor.ru/maps/news/1226.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

"Горячая линия" УФМС России по Краснодарскому краю — Виртуальный Кореновск

Среда, 06 Июля 2016 г. 11:48 (ссылка)
mykor.ru/maps/news/1224.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 5 июля 2016 года — Виртуальный Кореновск

Среда, 06 Июля 2016 г. 08:20 (ссылка)
mykor.ru/maps/news/1223.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
Будьте аккуратнее на дороге #Информация_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району 4 июля 2016 года. Пассажир погиб на месте происшествия. Водитель и пассажирка ранены — Виртуальный Кореновск

Понедельник, 04 Июля 2016 г. 16:31 (ссылка)
mykor.ru/maps/news/1222.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Trang

ДТП по Кореновскому району с 1 по 3 июля 2016 года. Есть пострадавшие — Виртуальный Кореновск

Понедельник, 04 Июля 2016 г. 15:44 (ссылка)
mykor.ru/maps/news/1220.html

Виртуальный Кореновск. Новости Кореновска. Погода в Кореновске. Объявления Кореновского района. Форум, фото и блоги. Панорамы. Достопримечательности Краснодарского края. Виртуальные путешествия
#Новости_виртуальныйкореновск
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<панорамы - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda