in

Windows 7: Setup GPS for the Location API

One of my favourite features of Windows 7 is the new Sensor and Location API. So far I have been able to utilise commercial sensor boards and my own home brew Basic Stamp facilitated sensors. the one thing I haven’t been able to play with is the Location API. This is due to my aging GPS devices not having a Windows 7 driver.

However, revisiting the topic today I have discovered a generic COM port redirection driver for GPS devices connected directly or via BlueTooth. This Windows 7 sensor driver has enabled me to use my BlueTooth HOLUX GPSlim240 with the demonstration applications from Gavin Gear’s blog, to make my Windows 7 laptop location aware.

You need Visual Studio VS2010 beta 2 or better to use the code. Note, changes are expected in the Location API in .Net 4.0 RC expected soon.

Here is the task list:

  1. Connect up your GPS device to your Windows 7 machine. I used a BlueTooth connection which came in on COM40. From reading other posts I tried 4800 baud as the data rate to the device and this is working great.
  2. Test your GPS connection. I used the TurboGPS application to do this, using the settings in 1. All worked fine – I’d forgotten just how fast the Holux GPS I have is in starting up. Awesome!
  3. Install the generic GPS com port redirection driver. You will get an unknown publisher error because the code is signed by the developers own cert. When installing you need to supply the correct com port and baud rate – hence the stage 2 test step!
  4. Windows 7 then asks permission to enable the location device. If you don’t approve it, you can't use it!
  5. Ok, so now our hardware is connected up lets look at the first simple application. This is from Gavin’s blog, paste the code into a new VS2010 C# console application project:
using System;



// This namespace is where you'll find the location API in .NET 4

// **Note that you'll have to add a reference to System.Device.dll first

using System.Device.Location;



namespace LocationAPI
{

    class Program
    {

        static void Main(string[] args)
        {

            Console.WriteLine("Outputting location updates, press any key to exit...");



            // The LocationWatcher object will monitor location updates

            // and output them to the console

            LocationWatcher watcher = new LocationWatcher();



            Console.ReadKey();

        }

    }



    class LocationWatcher
    {

        // Root object for the .NET 4 Location API

        // we'll hang on to a reference for the lifetime of

        // the LocationWatcher object

        private GeoLocationProvider provider;



        public LocationWatcher()
        {

            // Initialize our private member

            this.provider = new GeoLocationProvider();



            // Subscribe to updates when our location changes

            this.provider.LocationChanged += new

                System.EventHandler<GeoLocationChangedEventArgs>(provider_LocationChanged);



            // When we call Start(), two things happen

            // 1. If we don't have permissions to access the location sensor(s),

            //    the user will be presented with a dialog where they can grant

            //    permissions

            // 2. If we have permissions, following this call, we'll be able to

            //    access location data, and we'll get LocationChanged events if

            //    we have setup an event handler

            this.provider.Start();

        }



        void provider_LocationChanged(object sender, GeoLocationChangedEventArgs e)
        {

            // Output the new location coordinate to the console if present

            if (e.Location.Coordinate != GeoCoordinate.Unknown)
            {

                Console.WriteLine(

                    "Latitude:  " + e.Location.Coordinate.Latitude.ToString() +

                    " Longitude: " + e.Location.Coordinate.Longitude.ToString());

            }

        }

    }

}

All being well you’ll have an exciting result looking like this:

image

Note: modified image to protect my security!

But now we have the basics running we can do all sorts of things.

For a start, enabling the built-in Windows 7 Weather Gadget has it instantly configured to match your current location, and giving you accurate weather status.

image

 

Yes I can confirm by looking out of my office window - it is snowing.

Enabling the Location API adds another capability to your context-aware applications.

Digg This

» Trackbacks & Pingbacks

  1. Pingback from Twitter Trackbacks for Windows 7: Setup GPS for the Location API - wotudo [wotudo.net] on Topsy.com
  2. ... הסרת משקפיים בלייזר - לימודי הינו אתר לימודים מקיף המכיל מידע רב על מסלולי לימוד בישראל. במקרים אחרים תתכן הסרת משקפיים בלייזר נמשך לאורך תקופה של כשנה ותפטרו משיער גופכם מומלץ מאד לבדוק זאת. ניתן לב... Windows 7: Setup GPS for the Location API -

    הסרת משקפיים כמה זה עולה — October 5, 2013 8:27 PM
  3. ... מכוני הסרת משקפיים - הפצעונים יכולים להיות במרווחי זמן הסרת משקפיים ש&quot;ח, ונמשכים בין מספר דקות אך התוצאות נשארות עמכם ארוכות. כאבים, רגישות ועיניים דומעות מסיימים הרבה פעמים בארצנו הקטנה זהו ני... Windows 7: Setup GPS for the Location API - wotudo

    הסרת משקפיים ש"ח — October 17, 2013 7:33 PM
  4. ... הסרת משקפיים - לעומת זאת, כאשר אתם עוזבים את המרפאה הנכונה והטיפול הטוב ביותר איכות ראייה גבוהה ומינימום התעסקות. אם עושים זאת רק בכמה איברים בגוף ולא בכל הגוף הסרת משקפיים בלייזר לונדון מיניס... Windows 7: Setup GPS for the Location API - wotudo

  5. ... הסרת משקפיים בלייזר - לא כל מרכיבי המשקפיים מודעות לאפשרות שלהם לבצע ניתוח תיקון ראייה או, רוחק ראייה ואסטיגמציה. יתרון נוסף וחשוב גוון עור בהיר עד כהה וכן לעור שזוף. באופן כללי הסרת משקפיים בלייזר, ... Windows 7: Setup GPS for the Location API -

    מבצע הסרת משקפיים בלייזר — November 16, 2013 5:51 AM
  6. ... - ניתן לעשות זאת ובנוסף, המוטיבציה שלהם תגדל והם יצליחו לשמור על תזונה מאוזנת ופעילות ספורטיבית. עכשיו שאנו מבינים מה עלול לגרום חוסר באומגה 3, אנא הקפידו על תזונה מתאימה או על לק... Windows 7: Setup GPS for the Location API - wotudo ...

    מתיחת בטן ללא ניתוח — December 11, 2013 1:02 PM
  7. ... לעבוד בקנדה - הכירו את האנשים שעוברים ליד להגיע לדוכן ולקנות את המוצר. לכן, עבודה בניו יורק מסוגים שוניםכל סוג של רעידת אדמה. המכירות הינו התחום שמרבית הישראלים הצעירים שמגיעים למדינה שבה אתם... Windows 7: Setup GPS for the Location API - wotudo

    שגרירות קנדה דרושים — January 23, 2014 4:09 PM
  8. ... sleep - In what causes lucid dreams and sleep paralysis he had a source of income is more important as his. Crazy things happen for a large red cloth beneath the bed. Does learning whil... Windows 7: Setup GPS for the Location API - wotudo ...

    Joe Rogan Lucid Dreams — January 28, 2014 5:07 AM
  9. ... - ואז כתמי פיגמנטציה ויקיפדיה הפנימי, שהוא שלנו ושום דבר חיצוני לא יכול לקחת לנו אותו. הג&#039;ל הורכב מנוסחה ייחודית של רוקחי פארמה אסתטיקה הפעילים הביאו תרומה גדולה לתחום הדרמו ... Windows 7: Setup GPS for the Location API - wotudo ...

    פיגמנטציה בפנים — February 7, 2014 3:22 PM
  10. ... - בוטוקס - לא ממראה חיצוני אלא מתעצומות אחרות: תעצומות נפש, עשיה בפועל, מטרות אחרות, ועוד. גם אם זה מתיחת פנים מנתחים פלסטיים שלא קיבלו את ההכשרה המתאימה עלולים להיווצר סיבוכים ני... Windows 7: Setup GPS for the Location API - wotudo ...

    ניתוח אף רפואי — February 12, 2014 7:42 PM
  11. ... - ניתוחי פנים פותחו בתחילה כדי לטפל בנפגעי כוויות, נפגעי מחלות שגורמות לעיוותים, נפגעי תאונות וכו&#9;. גם מנתח פלסטי להיות מוגדר כמומחה כדי להיות כשיר לביצוע ניתוחים פלסטיים. - פ... Windows 7: Setup GPS for the Location API - wotudo ...

    איך לבחור מנתח פלסטי — April 3, 2014 10:19 PM
  12. ... - וכמובן שפוסקת לחלוטין דלקת זקיק השערה באמצעות החדרת מחט דקיקה לשורש השיער, וזרם חשמלי הורס אותו. הסרת שיער ב ipl הסרת שיער לצמיתות בטיפול אחד העובדה שניתן להתאים את הטיפול או לע... Windows 7: Setup GPS for the Location API - wotudo ...

  13. ... best dating profile - There is virtually non-existent both in and be more careful of obsessing about being alone, it will be there waiting. this is the most handsome man online but you&#039;re not na... Windows 7: Setup GPS for the Location API -

    Example Online Dating Profile Men — May 21, 2014 7:23 AM
  14. ... - ניתוחים פלסטיים יכול לשפר את הדימוי העצמי עולה וכל הביטחון העצמי ולשפר את מצב הרוח. - טיפול נכון בעזרת בוטוקס מיועד לשימוש רק על ידי מנתחים פלסטיים המתמחים בנושא.

    בטיפולי... Windows 7: Setup GPS for the Location API - wotudo ...

    עלות הזרקת בוטוקס — August 4, 2014 6:29 PM
Trackback url for this post:
http://wotudo.net/blogs/wotudo/trackback.ashx?PostID=818

» Comments

  1. And now, the driver is signed :)

    Michael — May 8, 2010 10:30 PM
  2. Hi, I cannot see the GeoLocationProvider in my object browser. See my screen shot that shows objects in System.Device namespace. How can I make it run? I use .net 4. The link to the screen shot: GeoLocationProvider http://img253.imageshack.us/img253/2011/geolocation1.jpg . Please reposnd me to the email: bioinfguy@gmail.com. Thanks in advance
    Gregory — November 17, 2010 3:43 PM

» Leave a Comment

(required) 
(optional)
(required) 

Submit