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

Автор: Alex web Нет ответов

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

C# http : //maps.google.com/maps/api/geocode/[type]?address=[address]&sensor=false

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

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

C# { "lng" : -122.08506470 }, }, ], } 1 6 7 9 10 11 12 {    "results" : [        {          "address_components" : [ . . . ] ,          "formatted_address" : "1600 Амфитеатр-Паркуэй, Маунтин-Вью, Калифорния 94043, Соединённые Штаты Америки" ,          "geometry" : {              "location" : {                "lat" : 37.42285760 ,                "lng" : - 122.08506470              } ,                       } ,                 }    ] , }

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

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

X и Y – это значения широты и долготы. Существует несколько способов их получения. Сегодня я расскажу о самом прямолинейном и простом из них – ручном поиске. Он идеально подходит, если вы заранее знаете какие объекты вы хотите выделить и их количество не слишком велико. Для реализации этого метода нам потребуется ВикиМапия -  http://wikimapia.org/

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

JavaScript 1 L . marker ( [ 37.6200783 , - 89.5172882 ] ) . addTo ( map ) ; , ,
leaflet – создание карт для web

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

Нет ответов

У меня уже запущен один проект, который базируется исключительно на этой библиотеке – это интерактивная карта бесплатных точек Wi-Fi в городе Донецке .

Подключаем библиотеку

XHTML <!--[if lte IE 8]> <![endif]--> 2 3 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> Создаем div для карты в нужном месте, явно указывая размеры карты (это можно и нужно сделать в соответствующем css-файле) : XHTML 1 <div style = "height=150px;" id = "map" > </div>

Инициализация карты Создаем карту с координатами карты x, y и приближением z: JavaScript 1 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(); 2 L . marker ( [ x , y ] ) . addTo ( map )      . bindPopup ( 'A pretty CSS3 popup. <br> Easily customizable.' )      . openPopup ( ) ;

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

Alex Рубрика: web Нет ответов

Как встроить видео на сайт?

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

Как это сделать без помощи сторонних сервисов?

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

  • Устаревшие браузеры (IE)
  • Самый простой случай. Видео-проигрыватель в одну строчку:

    XHTML <video src = "video.mp4" = 640 height = 360 >

    Поддержка устаревших браузеров

    Для поддержки устаревших браузеров (в первую очередь под этой фразой следует понимать IE7+) будем использовать javasript-библиотеку html5media.js, которая будет создавать flash видеоплеер для случая устаревшего браузера:

    XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body> 1 3 6      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" = = controls > </video>      </body> , чтобы устаревшие браузеры не расстраивались от увиденного.
    На данный момент наш проигрыватель поддерживает следующие браузеры:
  • Chrome
  • IE9+
  • Поддержка браузеров с open source кодеками

    XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body>      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" = 640 height = controls >              <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> </video> </body> 3 10      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = = 360 >              <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> На данный момент наш проигрыватель поддерживает следующие браузеры/устройства:

  • Chrome
  • У меня все еще, что-то не работает

    , Nancy Framework июня 8

    Alex Рубрика: web Нет ответов

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

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

    C# Get["/"] = _ => "Hello World!"; } 1 4 7 public class SampleModule : Nancy . NancyModule {      public SampleModule ( )      {          Get [ "/" ] = _ = > "Hello World!" ;      } } , Aurora.js – аудио фреймворк для web

    Alex Новости

    Нет ответов

    Демо

    Исходники

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

    Автор: Alex ignite

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

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

    Автор: Alex Рубрика: программирование

    C# 1 var a = someAction ( ) ;

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

    C# { //результат записываем }; //запускаем асинхронный процесс } 1 2 3 5 9 10 11 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# { { 2 4 7 9 12 13 15 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# { string[] strings; } { } 2 3 4 8 12 13 17 19 21 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 в момент завершения асинхронной операции.

    , Апр 10

    Автор: Alex ignite

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

    марта 11

    Alex Рубрика: ignite

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





    SITE-MAP