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

Автор: Alex web

Нет ответов

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

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

Для того, чтобы воспользоваться веб сервисом, нужно послать запрос на сервер Google следующего вида: C# 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 вам приходит ответ следующего вида (json):

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

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

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

Наводимся прицелом на нужный объект (для точности это лучше делать с большим увеличением) и в левом-нижнем углу видим координаты выбранного объекта:

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

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

Автор: Alex web

Нет ответов

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

XHTML <!--[if lte IE 8]> <![endif]--> 3 <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>

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

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

,

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

июня 9

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

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

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

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

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

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

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

  • XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </video> </body> 1 2 4 5 7 8 9      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = 640 height = 360 controls >              <source src = "video.mp4" > </source>              <source src = "video.webm" > </source>          </video>      </body> На данный момент наш проигрыватель поддерживает следующие браузеры:

      Chrome
    • IE9+

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

    XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </video> </body> 2 4 5 7 9 10      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = 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+

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

    , Nancy Framework

    июня 8

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

    или с сайта  http://nancyfx.org/ Пишем первый сайт

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

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

    июня 8

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

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

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

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

    C# Отложенное получение данных Автор: Alex программирование

    C# 1 var a = someAction ( ) ;

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

    C# { //действие //результат записываем }; //запускаем асинхронный процесс 1 6 7 8 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# { set } } 1 3 4 7 9 11 14 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 3 4 7 9 10 11 12 15 18 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 в момент завершения асинхронной операции. ,

    Alex Рубрика: ignite

    Управление свободной камерой Автор: Alex ignite

    1 2 3 4 Last page (45)






    SITE-MAP