Ignite

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

Alex web Нет ответов

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

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 }, } } 3 4 5 7 8 9 11 12 14 {    "results" : [        {          "address_components" : [ . . . ] ,          "formatted_address" : "1600 Амфитеатр-Паркуэй, Маунтин-Вью, Калифорния 94043, Соединённые Штаты Америки" ,          "geometry" : {              "location" : {                "lat" : 37.42285760 ,                "lng" : - 122.08506470              } ,                       } ,                 }    ] , }
,
Получение координат для карт

июня 13

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

Вчера я рассказывал об использовании замечательной библиотеки leaflet для визуализации своих карт на сайте. При установке камеры и маркера я использовал координаты x, y и внимательные читатель задастся вопросом, как получить значения этих переменных для реальных объектов на карте, как это сделано у меня на примере карты бесплатных 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]--> 2 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> Создаем div для карты в нужном месте, явно указывая размеры карты (это можно и нужно сделать в соответствующем css-файле) : XHTML <div style = "height=150px;" id = "map" > </div>

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

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

Присваиваем слой с картой: JavaScript 1 3 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 2 L . marker ( [ x , y ] ) . addTo ( map )      . bindPopup ( 'A pretty CSS3 popup. <br> Easily customizable.' )      . openPopup ( ) ;

, ,

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

Автор: Alex web

Нет ответов

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

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

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

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

  1. Устаревшие браузеры (IE)

XHTML 1 <video src = "video.mp4" width = = 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" = 640 = controls > </video>      </body>

  • IE9+
  • XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body> 2 5 9      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = height = controls >              <source src = "video.mp4" > </source>              <source src = "video.webm" > </source>          </video>      </body>

    XHTML <script src="http://api.html5media.info/1.1.5/html5media.min.js"></script> <body> </body> 2 3 4 5 6 7 8      <head>          <script src = "http://api.html5media.info/1.1.5/html5media.min.js" > </script>      </head>      <body>          <video src = "video.mp4" width = height = controls >              <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 Alex web Нет ответов

    Начнем по-порядку.

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

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

    Готово!

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

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

    Нет ответов

    Демо

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

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

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

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

    Апр 13

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

    C# var a = someAction ( ) ;

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

    К сожалению, если мы передадим переменную, которая должна измениться в результате выполнения асинхронного запроса с модификаторами out или ref следующим образом: C# { //запускаем асинхронный процесс 1 3 7 8 public static void someAction ( ref int i ) {    var worker = new BackgroundWorker ( ) ;    //действие    worker . DoWork + = ( sender , args ) = > { } ;    //результат записываем    worker . RunWorkerCompleted + = ( sender , args ) = > {        i = 1 ;    } ;    //запускаем асинхронный процесс    worker . RunWorkerAsync ( ) ; }

    C# { set { } } 1 4 8 9 10 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# { } } } 2 3 6 7 8 9 10 11 14 15 16 17 19 20 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 ( ) ;      } } В данном случае, strings перестанет равняться null в момент завершения асинхронной операции.

    ,

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

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

    Alex ignite

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





    SITE-MAP