company_banner

Геолокация в Windows 7 без GPS

    Много ли вы видели ноутбуков, которые оснащены GPS датчиком? Примерные оценки можно посмотреть тут, 58 штук из 4380, то есть 1.3%. Прямо скажем — не много. Трудно назвать все причины, по которым производители не оснащают портативные компьютеры, в общем-то, недорогим чипом, но наша заметка как раз о том, как ваш ноутбук снабдить функциональностью геолокации, даже если GPS датчика у вас нет. А заодно вы узнаете, как очень просто получить ваши координаты программным способом.

    Поговорим о погоде?


    Пользуетесь ли вы гаджетом погоды в Windows 7? До недавнего времени я не пользовался, так как вбивать в ручную очередной город (а путешествую я очень много) мне было лень. Опция автоматического определения моих координат не работала.
    Настройки гаджета погоды Windows 7
    Все дело в том, что гаджет этот пытается определить ваши координаты через Windows7 Sensor API. И требует наличия драйвера сенсора. Недавно, подготавливая презентацию к Платформе 2011 я наткнулся на сенсор Geosense, который очень неплохо определяет координаты. Для сервиса погоды они годятся на 100%.
    Гаджет погоды Windows 7
    На самом деле точность, высокая, работает он на базе Google Location Service (WiFi и IP базы) и я его успел протестировать как минимум в трех местах:
    • ЦМТ на Краснопресненской с помощью WiFi который был в гостинице. Он определил местоположение с точностью до здания.
    • Точно так же замечательно определил местоположение, когда в ЦМТ я был подключен по кабелю (IP)
    • В Угличе определил местоположение через WiFi с точностью до дома
    • Сейчас сижу в Шереметьево Д и опять таки определил местоположение с точностью до терминала.

    Не забудьте только сконфигурировать этот сенсор как используемый по умолчанию, так как сенсор Orion в России, к сожалению, работает не достаточно точно.Настройки сенсора геолокации

    Определяем координаты программно


    Извините, сэр, где мы находимся?
    -Вы находитесь в корзине воздушного шара, джентльмены.
    Холмс, шепотом: -Ватсон, держу пари, что этот человек — программист.



    Windows 7 Sensor API реализован в том числе и в .NET Framework 4.0. Вам достаточно написать буквально 3 строчки кода, чтобы понять, где вы находитесь:

    Код программы определения местоположения
    Нахожусь я сейчас в Шереметьево Д, подключен к хотспоту «Terminal-D WiFi-Free» и вот что мне эта программа возвращает:
    Результаты геолокации в BingMaps

    Немного про безопасность


    Конечно, в Windows 7 есть возможность задать разрешения на использование этого API. Если ваше приложение пытается определить координаты, то обязательно появится предупреждение:
    Включение сенсора
    А так же можно настроить доступ пользователей:
    Конфигурация сенсоров для пользователей
    Все обращения к API геолокации фиксируются в журнале:
    image

    Резюме


    Конечно, такая геолокация совсем не заменяет GPS. В первую очередь из-за точности, да и ошибки иногда имеют место быть. Но может выручать в тех случаях, когда GPS не работает (в зданиях, в условиях плохого сигнала) и если у вас есть подключение Интернет. А уж для определения погоды или других контекстных сервисов (например, в социальных приложениях) годится наверняка.

    Исходники простого консольного приложения использующего Geolocation API вы можете скачать из MSDN Code Gallery по адресу code.msdn.microsoft.com/Windows-7-Geolocation-API-25585fac
    Microsoft
    499,00
    Microsoft — мировой лидер в области ПО и ИТ-услуг
    Поделиться публикацией

    Похожие публикации

    Комментарии 52

      +2
      не знал про такую возможность в Windows 7, спасибо
        +10
        Холмс: Мы в России Ватсон… Только программист мог дать такой точный и такой бесполезный ответ, и только в России программисты пасут коров.
          +1
          <zanuda_mode>
          И всё таки в оригинале там было про математиков
          </zanuda_mode>
            +2
            да у нас такая страна что с двумя дипломама только коров и пасти
              +1
              И много у вас знакомых пастухов с двумя дипломами?
                0
                Есть один и с тремя
                И одна, но гм… корова
          +1
          «Точно так же замечательно определил местоположение, когда в ЦМТ я был подключен по кабелю (IP)» — я думаю в данном случае он все же ориентировался по wifi точкам. (ему не обязательно быть подключенным по wifi чтобы передать в google BSSID и уровни сигнала точек)
            0
            И всё-таки непонятно, почему в ноуты, а особенно в нетбуки, не ставят GPS :-(
            Ведь копеечная микросхема, почти в любом телефоне уже есть…
              +2
              И тогда цена на все ноутбуки с GPS, поставляемые в Россию, возрасла бы на 25%. Либо возрос бы вес [irony]на полтора киллограма[/irony], за счет глонасс. ;)
                +1
                Чипы с ГЛОНАСС выпускают уже больше десятка различных компаний в разных странах, на том же максиме можно легко найти универсальный приемник NAVSTAR/GLONASS/Galileo в виде чипа размером 5х5 мм. Еще несколько лет и все чипы будут исключительно универсальными, поддержка одного лишь navstar уже не актуальна, люди ради маркетинга делают даже поддержку китайского «компаса». И хватит эти глупости про килограммы, тот же КБ «Навис» еще в том году демонстрировал универсальный чип размером меньше рубля. Впрочем это уже и так не важно — глонасс давно поддерживают западные производители.
                  0
                  Irony-тег надо было bold'ом выделить?.. (:
                    +1
                    Расшифруйте же мне тогда, в чем ирония? Ирония есть притворство и основывается на противопоставлении или же где-то спрятан скрытый смысл. Противопоставляя то что у вас заботливо выделено тегом, то получим мы что? 100 кг? 1 грамм? Ни то, ни другое не имеет смысла. Да и скрытого смысла я не смог найти, поможете?
                      +1
                      Уважаемый, Вы – зануда. :)

                      Но тем не менее, немножко покормлю тролля, если уважаемая публика не против.
                      В сообщении моём был нехитрый намек на то, что техника, к нам приезжающая, и так имеет весьма неплохо завышеную цену (надеюсь, с этим никто спорить не будет?), а тут ещё и +25% пришлось бы платить только за то, что там есть GPS, но нет ГЛОНАСС. Производство и массовое внедрение-использование — это далеко не одно и то же, не правда ли? Покажите мне хоть один мейнстримовый телефон с GPS+ГЛОНАСС чипами, наличиствующий на Российском рынке, а потом ответьте себе, будет ли тот же Acer/HP/Apple совать в свои ноуты сиё невиданное доселе чудо российского распилвоенпрома?
                      Да кому оно нафиг надо?..
                        –1
                        Вы ушли от ответа про вес.

                        Да, будут внедрять, ибо новое поколение чипов (основная масса приходится на этот год) начинает замещать старые завязанные исключительно на американский навстар.
                          0
                          >будет ли тот же Acer/HP/Apple совать в свои ноуты сиё невиданное доселе чудо российского распилвоенпрома?
                          Конечно будут — у них же неплохой бизнес в Роисси и терять его никто не хочет. Чипы с поддержкой GPS и ГЛОНАСС уже есть, поэтому новые дейвасы с такими чипами выйдут «как только так сразу».
                  0
                  Ставят в дорогие модели.
                  –1
                  Эх работала бы ещё в условиях отсутствия интернета ))
                    +4
                    Интересно послушать ваше решение этой проблемы. :)
                      +3
                      Система зеркал с проекцией отражения звезд/положения солнца на экран монитора, с открытым worldmap.jpg
                        0
                        А мы-то гадаем, почему все экраны глянцевые :)
                        0
                        Локальная база, периодически обновляемая из интернета? еще в голову приходит подключаться по bt или wifi к мобильным и пытаться триангулировать себя по базовым станциям… наверняка такие решение уже есть, только за денежку…
                      +1
                      А можете ваши «буквально 3 строчки кода, чтобы понять, где вы находите» в виде исполняемого файла приложить?
                        +2
                        www.sendspace.com/file/leza56

                        экзешник внутри, требует .NET Framework 4.0
                          0
                          Спасибо. Город определился, а вот внутри города очень далеко от места
                            0
                            а у меня открывается, быстро определяет координаты и сразу закрывается… так и должно быть? с помощью принт скрина разлядел координаты, програмка ошиблась на три квартала :) но по одной улице ;)
                              0
                              Спасибо, но:
                              C:\Geo>Geo.exe
                              Can't locate
                                0
                                заработало, но показало, что я нахожусь в соседнем населённом пункте. отсюда делаю вывод, что определение идёт по IP, если нет других возможностей — наш провайдер выдаёт зачастую айпишники, по которым я определяюсь в разных городах области случайным образом. Кто ещё из Ростова-на-Дону — у вас как определилось?
                            0
                            Работает замечательно, спасибо! Точность определена до дома.
                              0
                              У меня тоже, я в шоке.
                              Вот только у меня не спрашивают разрешения, когда программа обращается к сенсору.
                                0
                                Аналогично.
                              0
                              Для Висты не встало…
                                +1
                                Windows 7 — ключевое слово :)
                                  –1
                                  Вот это и печалит :)
                                  0
                                  А если не секрет, почему не Win7?
                                    0
                                    Под рукой ноутбук с вистой. А вообще хотелось бы посмотреть, какой софт умеет геолокацию по WiFi на ноутах.
                                    Google так умеет? Альтергео какую-то чушь мне рисовал.
                                      0
                                        0
                                        Спасибо, но к сожалению, только 7 —
                                        System.TypeInitializationException: Инициализатор типа «Microsoft.WindowsAPICodePack.Sensors.SensorManager» выдал исключение. ---> System.PlatformNotSupportedException: Only supported on Windows 7.
                                          0
                                          А есть информация как определять положения без датчика? Т.е. по самим Google Location Services (WiFi&IP). Нашёл только это: code.google.com/intl/ru-RU/apis/gears/api_geolocation.html
                                    –2
                                    > наша заметка как раз о том, как ваш ноутбук снабдить функциональностью геолокации, даже если GPS датчика у вас нет. А заодно вы узнаете, как очень просто получить ваши координаты программным способом…

                                    … Для начала, купите Windows 7.

                                    Хорошо, в заголовке предупредили. Почти всегда и об этом забывают.
                                      0
                                      Объясните для тех, кто в танке — для чего нужен GPS в ноутбуке? Прокладывать пешеходные маршруты или возить в авто — не удобно. После тяжелой ночи спрашивать у ноутбука «Где я нахожусь?» — не рационально.
                                        –1
                                        скорее спрашивать у ноутбука «ты где?»
                                          0
                                          В дороге иногда удобно работать. ПДА тоже удобен для локейшена, но ноут тоже подходит.
                                          Опять же нетбуки есть.
                                          0
                                          Can't locate
                                            0
                                            Не забудте Geosense поставить по умолчанию.
                                            –2
                                            Установил, но Geosense нет в списке. Перезагружаться пробовал. Ставил на Win7 32-bit
                                              –2
                                              Друзья каратели, ей богу мне не интересны причины вашего поведения. Мне интересна помощь в моем вопросе. Если вы считаете, что это слишком понятно что бы спрашивать, так не поленитесь, поясните.
                                              0
                                              У меня сенсор установился, сделал его по умолчанию, но в виджете погоды опция «find my location automatic» так и осталась неактивной. На чем еще можно проверить сенсор?
                                                0
                                                кстати, эта часть вашего доклада на Платформе мне понравилась. Вовремя напомнили, а то собирался искать видеозапись доклада, чтобы освежить сведения.
                                                  +1
                                                  Великолепно, спасибо большое! Вроде мелочь, а приятно. Люблю хабр за такую вот вкусняшку :)
                                                    0
                                                    Молодцы разработчики, и с чувством юмора у них все в порядке — см. инсталлятор и подвал сайта :-)
                                                      0
                                                      Про Холмса там математик был.
                                                      — Почему математик, Холмс?
                                                      — Потому что его ответ удивительно точен и настолько же бесполезен.
                                                        0
                                                        У меня почти с точностью до дома определило.

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

                                                        Самое читаемое