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

Alex web

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

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

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

где [type] – тип данных в котором вам придет ответ: xml или json

C# 1 http : //maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false C# { { "geometry" : { "lng" : -122.08506470 } ], 5 6 8 9 {    "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

июня 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>

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

Инициализация карты

Создаем карту с координатами карты x, y и приближением z: JavaScript 1 var map = L . map ( 'map' ) . setView ( [ x , y ] , z ) ;

Присваиваем слой с картой: JavaScript 2 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. Там работают чрезвычайно умные люди, которые уже решили совершенно все проблемы, которые могут возникнуть при встраивании видео на сайт.

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

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

Самый простой случай. Видео-проигрыватель в одну строчку: XHTML 1 <video src = "video.mp4" = = 360 controls >

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

Добавляем закрывающий тег На данный момент наш проигрыватель поддерживает следующие браузеры:

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

XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body> 1 9      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = 640 height = controls >              <source src = "video.mp4" > </source>              <source src = "video.webm" > </source>          </video>      </body>

Chrome

  • IE9+
  • Firefox
  • Поддержка слабых мобильных устройств XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </video> </body> 2 5 6 7 8 10      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" = 640 height = >              <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
  • Firefox
  • У меня все еще, что-то не работает
  • Проверяйте корректность декодирования видео в разные форматы или настройки своего сервера.

    , Nancy Framework

    июня 8

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

    http://nancyfx.org/

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

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

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

    Демо

    Исходники

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

    Апр 24 Автор: Alex ignite

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

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

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

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

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

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

    Alex ignite

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

    марта 11

    Alex Рубрика: ignite

    1 2 3 4 Last page (45)





    SITE-MAP