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

Alex Рубрика: web

Нет ответов
получить координаты для карт того или иного объекта вручную геокодирование

Геокодирование – это чрезвычайно сложный процесс преобразования адреса в координаты широты и долготы. К счастью, множество сервисов в интернете облегчили нам с вами эту задачу. Я не буду рассказывать про все из них, не буду рассказывать, как они работают, просто продемонстрирую, как можно решить поставленную задачу с использованием Google Geocoding Web Service.

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

C# 1 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

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

,
Получение координат для карт июня 13

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

Вчера я рассказывал об использовании замечательной библиотеки leaflet для визуализации своих карт на сайте. При установке камеры и маркера я использовал координаты x, y и внимательные читатель задастся вопросом, как получить значения этих переменных для реальных объектов на карте, как это сделано у меня на примере карты бесплатных 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]--> 1 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(); 3 L . marker ( [ x , y ] ) . addTo ( map )      . bindPopup ( 'A pretty CSS3 popup. <br> Easily customizable.' )      . openPopup ( ) ;

,

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

июня 9

Alex Рубрика: web

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

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

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

    XHTML 1 <video src = "video.mp4" width = 640 = 360 controls >

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

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

    Поддержка браузеров с open source кодеками

    XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </video> </body> 4 6 7 9      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" = 640 = >              <source src = "video.mp4" > </source>              <source src = "video.webm" > </source>          </video>      </body>

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

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

        Проверяйте корректность декодирования видео в разные форматы или настройки своего сервера.

        Nancy Framework

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

      http://nancyfx.org/

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

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

      Aurora.js – аудио фреймворк для web

      июня 8

      Alex Новости

      Нет ответов

      Демо

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

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

      Я давно не писал в блог “просто так”, о жизни. Этот пост будет посвящен этому. Я расскажу о том, чем я живу в последнее время, о прогрессе в разработке Ignite и о своих планах на будущее. С 2009-го года я был в свободном плавании – будучи некрасиво уволенным по сокращению с предыдущего места работы, я не нашел ничего лучшего, чем открыть субъект предпринимательской деятельности и продолжить работать самостоятельно, на себя. Дела шли неплохо, но этот пост не про это, как и не про то, как в нашем государстве(Украина) способствуют развитию мелкого бизнеса. Скажу только, что к 2013-му году работать стало окончательно невозможно, и я начал искать работу программиста на стороне.

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

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

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

      C# 1 var a = someAction ( ) ;

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

      К сожалению, если мы передадим переменную, которая должна измениться в результате выполнения асинхронного запроса с модификаторами out или ref следующим образом:

      C# { //результат записываем }; //запускаем асинхронный процесс } 1 2 4 6 7 8 10 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# set } 3 4 5 7 10 12 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; { } } } 1 4 7 15 16 19 23 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 ( ) ;      } }

      ,

    Апр 10

    Автор: Alex ignite

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

    Автор: Alex ignite

    1 2 3 4 Last page (45)






    SITE-MAP