Особенности загрузки объектов из карты формата KML на карту Яндекса

Автор: admin от 9-11-2014, 21:21, посмотрело: 798

В API Яндекс.Карт есть средства для загрузки географических данных в формате XML. API поддерживает карты в двух форматах: YMapsML и KML. В документации по технологиям Яндекса есть пример, илюстрирующий работу с этим форматами.

Глядя на этот пример, можно предположить, что с точки зрения API оба формата эквивалентны, и работа с ними ничем не отличается. Тем более Яндекс предоставляет конструктор карт, в котором каждой карте автоматически назначаются ссылки на оба формата. Эти ссылки отличаются только суффиксом. Карта в формате YMapsML оканчивается на символ /, а адрес той же карты в формате KML на конце содержит символы ".kml".

Независимо от формата XML загрузка геообъектов будет выглядеть так:
var map = new ymaps.Map("map", {
    center: [-25.89, 135.32],
    zoom: 4,
    controls: ["zoomControl"]
});

var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz/";

ymaps.geoXml.load(url).then(function (res) {
    map.geoObjects.add(res.geoObjects);
});


Но если нам понадобится что-то сделать с объектами при загрузке, то мы обнаружим, что формат имеет значение. Предположим, что мы хотим поменять цвет контура у объекта с определенным именем.



Оказывается, что если мы заменим адрес на формат KML, то данный код работать не будет, потому что коллекция объектов, загруженная из формата KML отличается от той, что получается при загрузке YMapsML. При загрузке KML получается коллекция объектов, состоящая из одного геобъекта, который сам является коллекцией. И вот этот вложенный объект уже содержит геообъекты, нарисованные на карте.

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

Категория: Компании » Яндекс

 

Jump Start в PowerShell (часть II)

Автор: admin от 9-11-2014, 21:19, посмотрело: 701

Кто, если не ты? Когда, если не сейчас?

Jump Start в PowerShell (часть II)

В предыдущей части мы научились запускать PowerShell, разобрались с политикой выполнения сценариев. Поняли, что такое командлеты, знаем, как передавать их по конвейеру и как получить их свойства. Узнали, что PowerShell имеет огромный Help.

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

Категория: Программирование, Системное администрирование, Microsoft

 

Регулярные выражения

Автор: admin от 9-11-2014, 19:09, посмотрело: 504

Содержание



  • Введение

  • Величины, типы и операторы

  • Структура программ

  • Функции

  • Структуры данных: объекты и массивы

  • Функции высшего порядка

  • Тайная жизнь объектов

  • Проект: электронная жизнь

  • Обработка ошибок

  • Регулярные выражения

  • Модули

  • Проект: язык программирования

  • javascript и браузер

  • Document Object Model

  • Обработка событий

  • Проект: игра-платформер

  • Рисуем на Canvas

  • HTTP

  • Формы и поля ввода

  • Проект: Paint

  • Node.js

  • Проект: веб-сайт по обмену умениями

  • Песочница для кода



Некоторые люди, столкнувшись с проблемой, думают: «О, а использую-ка я регулярные выражения». Теперь у них есть две проблемы.
Джейми Завински

Юан-Ма сказал: «Требуется большая сила, чтобы резать дерево поперёк структуры древесины. Требуется много кода, чтобы программировать поперёк структуры проблемы.
Мастер Юан-Ма, «Книга программирования»


Инструменты и техники программирования выживают и распространяются хаотично-эволюционным способом. Иногда выживают не красивые и гениальные, а просто такие, которые достаточно хорошо работают в своей области – к примеру, если их интегрируют в другую успешную технологию.

В этой главе мы обсудим такой инструмент – регулярные выражения. Это способ описывать шаблоны в строковых данных. Они создают небольшой отдельный язык, который входит в javascript и во множество других языков и инструментов.

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

Категория: Программирование

 

Резервное копирование виртуальных машин в среде гипервизора QEMU/KVM

Автор: admin от 9-11-2014, 16:36, посмотрело: 735

Как известно, бэкапы нужно делать, мало того, нужно делать их так, чтобы потом с них можно было развернутся. Особенно это касается виртуальных машин (ВМ). Рассмотрим, как можно сделать бэкап виртуальных дисков машины в среде QCOW/KVM. Основных проблем здесь две: во-первых, нужно получить консистентый (целостный) бэкап, т.е. если у нас есть СУБД или другое ПО, которое активно использует собственный кэш на запись, то перед бэкапом его нужно попросить сбросить кэш и заморозить запись на диск, иначе данные-то в снэпшот попадут, но не те, и при восстановлении СУБД может не понять такой финт. Второй вопрос — производительность ВМ в режиме снэпшота, неплохо было бы, что бы ВМ не слишком тормозила, когда мы снимаем копию, и не зависала бы, когда мы удаляем снэпшот.

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

Категория: Операционные системы » Linux

 

Codeship.io: бесплатный CI сервер для приватного репозитория Github/Bitbucket

Автор: admin от 9-11-2014, 16:35, посмотрело: 475

Codeship.io: бесплатный CI сервер для приватного репозитория Github/Bitbucket
Сразу заинтригую: в результате мы получим связку бесплатного приватного git репозитория на Bitbucket и бесплатный* Continious Integration сервер (SAAS), который будет собирать проект и прогонять все тесты после каждого пуша.
* — бесплатная подписка дает возможность тестировать 5 приватных репозиториев и максимум 100 билдов в месяц.

Мне этого для личного проекта достаточно.

Приведу пример для PHP, проект на Symfony2, но данный сервис поддерживает ещё и Ruby, Node.js, Python.

Категория: Программирование, Веб-разработка

 

IT чаты или Выжимаем из скайпа все соки

Автор: admin от 9-11-2014, 16:10, посмотрело: 520

IT чаты или Выжимаем из скайпа все соки Часто у новичков в той или иной IT области ощущается острый дефицит знаний и знакомых, у которых можно что-либо «спросить» по теме. Да, StackOverflow, Google и другие подобные ресурсы — просто кладезь полезной информации, однако, согласитесь, бывают и ситуации, когда вопрос настолько общий, что ответ на него может дать только опытный человек работающий в этой сфере не первый год.

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

И вот тут пролетела мысль — а почему бы не сделать IT-чаты и разбить их на определённые темы/технологии? Ок, попробуем. И Skype нам тут поможет.

Если Вы хотите узнать почему был выбран скайп, каким образом можно «обойти» лимит в 300 человек на один чат или у Вас просто спряталась альтруистичная IT нотка и вы любите помогать коллегам — берите печеньки и добро пожаловать под кат.

Категория: Программирование

 

Дайджест интересных материалов для мобильного разработчика #78 (2-9 ноября)

Автор: admin от 9-11-2014, 14:23, посмотрело: 300

Новостей в связи с праздниками не очень много, но все же: вышла статья о «визуальном» программировании в Xcode, Xamarin представил бесплатные планы для студентов, объявлены финалисты Samsung Gear App Challenge, у Parse вышли Push Experiments и ParseUI. Да, еще же в «Южном парке» вышла серия про free-to-play игры!

Дайджест интересных материалов для мобильного разработчика #78 (2-9 ноября)

Категория: Веб-разработка, Game Development, Android, Windows, iOS

 

Простейший SMTP сервер для разработок

Автор: admin от 9-11-2014, 02:34, посмотрело: 669

Для ленивых и не желающих возиться, сдувать пыль с бубна по настройке exim4/postfix/sendmail предлагается простейший сборщик почты написанный на Python[1].

Его работа заключается в сборе всей почты, посылаемой этому фейковому smtp серверу и складывании её в указанную папку /tmp/mails в виде файлов писем nobody@mail.local.1 с порядковым номером.

Категория: Программирование, Веб-разработка, Linux