Ignite

RSS Feeds Главная Программы на заказ Портфолио Контакты Геокодирование – еще один способ получения координат

июня 13

Alex Рубрика: web

Нет ответов

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

Для того, чтобы воспользоваться веб сервисом, нужно послать запрос на сервер Google следующего вида:

C# http : //maps.google.com/maps/api/geocode/[type]?address=[address]&sensor=false где [type] – тип данных в котором вам придет ответ: xml или json

В результате запроса:

C# http : //maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false

вам приходит ответ следующего вида (json): C# { { }, } ], 2 6 8 9 10 14 {    "results" : [        {          "address_components" : [ . . . ] ,          "formatted_address" : "1600 Амфитеатр-Паркуэй, Маунтин-Вью, Калифорния 94043, Соединённые Штаты Америки" ,          "geometry" : {              "location" : {                "lat" : 37.42285760 ,                "lng" : - 122.08506470              } ,                       } ,                 }    ] , }

,
Получение координат для карт июня 13
Alex Рубрика: web Нет ответов

использовании замечательной библиотеки leaflet карты бесплатных Wi-Fi источников .

http://wikimapia.org/

Кликаем по ним и видим всплывающее окошко:

JavaScript 1 L . marker ( [ 37.6200783 , - 89.5172882 ] ) . addTo ( map ) ;

leaflet – создание карт для web

июня 12 Автор: Alex Рубрика: web Нет ответов

интерактивная карта бесплатных точек Wi-Fi в городе Донецке

XHTML <!--[if lte IE 8]> <![endif]--> 3 4 5 <link rel = "stylesheet" href = "http://cdn.leafletjs.com/leaflet-0.5/leaflet.css" /> <!--[if lte IE 8]>      <link rel="stylesheet" href="http://alexbard.org.ua/cdn.leafletjs.com/leaflet-0.5/leaflet.ie.css" /> <![endif]--> <script src = "http://cdn.leafletjs.com/leaflet-0.5/leaflet.js" > </script>

XHTML <div style = "height=150px;" id = "map" > </div>

JavaScript var map = L . map ( 'map' ) . setView ( [ x , y ] , z ) ;

Присваиваем слой с картой:

JavaScript L . tileLayer ( 'http://{s}.tile.osm.org/{z}/{x}/{y}.png' , {      attribution: '&copy; <a href="http://alexbard.org.ua/osm.org/copyright">OpenStreetMap</a> contributors' } ) . addTo ( map ) ;

JavaScript .openPopup(); L . marker ( [ x , y ] ) . addTo ( map )      . bindPopup ( 'A pretty CSS3 popup. <br> Easily customizable.' )      . openPopup ( ) ; ,

Встраивать html5 видео все еще слишком сложно

Автор: Alex web Нет ответов
Как встроить видео на сайт?

Короткий ответ – воспользуйтесь Youtube или Vimeo. Там работают чрезвычайно умные люди, которые уже решили совершенно все проблемы, которые могут возникнуть при встраивании видео на сайт.

Как это сделать без помощи сторонних сервисов? Существует 4 основных группы людей, которые будут смотреть видео у вас на сайте:

  • Самый простой случай. Видео-проигрыватель в одну строчку:

    XHTML <video src = "video.mp4" width = height = > Для поддержки устаревших браузеров (в первую очередь под этой фразой следует понимать IE7+) будем использовать javasript-библиотеку html5media.js, которая будет создавать flash видеоплеер для случая устаревшего браузера: XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body> 1 3 5 6      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" = 640 = 360 controls > </video>      </body>

    • IE9+
    • XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </video> </body> 1 2 3 4 6      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = 640 = >              <source src = "video.mp4" > </source>              <source src = "video.webm" > </source>          </video>      </body>

      • IE9+
      • Теперь остались только владельцы слабых мобильных устройств.

    XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body> 2 3 4 5 6 8 9 10      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = 640 = >              <source src = "video.mp4" media = "only screen and (min-device-width: 568px)" > </source>              <source src = "video-low.mp4" media = "only screen and (max-device-width: 568px)" > </source>              <source src = "video.webm" > </source>          </video>      </body>

  • IE9+ Firefox
  • , Nancy Framework июня 8 Автор: Alex Рубрика: web Нет ответов

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

    или с сайта  http://nancyfx.org/

    Пишем первый сайт

    C# { { Get["/"] = _ => "Hello World!"; } 3 5 6 7 public class SampleModule : Nancy . NancyModule {      public SampleModule ( )      {          Get [ "/" ] = _ = > "Hello World!" ;      } }

    Готово!

    Aurora.js – аудио фреймворк для web Alex Рубрика: Новости

    Нет ответов

    Демо

    Исходники

    Планы и всякое

    Апр 24 Автор: Alex Рубрика: ignite Я давно не писал в блог “просто так”, о жизни. Этот пост будет посвящен этому. Я расскажу о том, чем я живу в последнее время, о прогрессе в разработке Ignite и о своих планах на будущее.

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

    От работы перейдем к личным проектам: работа над Ignit’ом опять застопорилась – за последние три недели я не написал ни строчки кода(ну может быть несколько). Если честно, мне просто надоело его писать. И, вероятно, это будет концом его разработки. В ближайшие дни я соберу версию, пригодную для публикации, и выдам ее на гора. Возможно, исходные коды уедут на github, но, если честно, мне стыдно за некоторые(многие) места времен hello world моего обучения языку C#. Возможно, публичный (сырой) релиз подстегнет мой интерес.. если же нет, то в задумке крутится новая (и совершенно не похожая на предыдущую) игра:

    C# Отложенное получение данных

    Alex программирование

    C# 1 var a = someAction ( ) ; C# { //действие //результат //запускаем асинхронный процесс 1 2 3 4 5 6 public static void someAction ( ) {    var worker = new BackgroundWorker ( ) ;    //действие    worker . DoWork + = ( sender , args ) = > { } ;    //результат    worker . RunWorkerCompleted + = ( sender , args ) = > { } ;    //запускаем асинхронный процесс    worker . RunWorkerAsync ( ) ; }

    C# { //действие //результат записываем i = 1; //запускаем асинхронный процесс } 1 2 3 7 9 10 11 12 public static void someAction ( ref int i ) {    var worker = new BackgroundWorker ( ) ;    //действие    worker . DoWork + = ( sender , args ) = > { } ;    //результат записываем    worker . RunWorkerCompleted + = ( sender , args ) = > {        i = 1 ;    } ;    //запускаем асинхронный процесс    worker . RunWorkerAsync ( ) ; }

    , то это приведет к ошибке на этапе компиляции, т.к. передача ref/out переменных в анонимные методы запрещена.

    Обойдем это с использованием собственного класса:

    C# { } } 4 8 12 13 class Interfaced < T >      {          private T _value ;          public T Value {              get { return _value ; }              set              {                  if ( value . Equals ( _value ) ) return ;                  _value = value ;                  ValueChanged . Invoke ( this , null ) ;              }          }          public EventHandler ValueChanged ;      }

    Пример использования класса: C# { } { } } 2 3 5 6 8 15 16 22 class Main {      string [ ] strings ;      public Main ( )      {          var iValue = new Interfaced < string [ ] > ( ) ;          iValue . ValueChanged + = ( sender , args ) = >              strings = ( ( Interfaced < String [ ] > ) sender ) . Value ;          Helper . AsyncAction ( iValue ) ;      } } class Helper {      public static void AsyncAction ( Interfaced < string [ ] > iValue )      {          var worker = new BackgroundWorker ( ) ;          worker . DoWork + = + = ( sender , args ) = > { } ;          worker . RunWorkerCompleted + = ( sender , args )              = > { iValue . Value = new string [ 5 ] ; } ;          worker . RunWorkerAsync ( ) ;      } } В данном случае, strings перестанет равняться null в момент завершения асинхронной операции.

    Автор: Alex Рубрика: ignite

    Управление свободной камерой марта 11

    Alex ignite

    1 2 3 4 ... Last page (45)





    SITE-MAP