Google Maps geo-location by IP Flex example

Following on from my earlier post regarding Google Maps and Flex, I’ve put together a new example which I reckon’s pretty nifty.

Somehow my idea was spawned by Andrew Shorten’s post which discussed using Google Maps and the new Adobe Cocomo service to create a collaborative mapping application. And I say somehow, as I’m not really sure how I went off on the tangent of geo-locating IP addresses when the original post was about two users drawing stuff on a shared map! Maybe they can see where each other is on the map and start drawing a line until they meet somewhere in the middle…

Anyway, (il)logic aside here’s the example I whipped up:

View source is enabled in the following example.

The “Geo-locate IP address” text field should auto populate with your current IP address. The initial map will load and center on London.

When coding up the infowindow that displays, I found this reference on the Google site very useful – http://code.google.com/apis/maps/documentation/flash/reference.html

The actual information is coming from a whopping great big file that I’ve uploaded to my server which was supplied by Maxmind. There’s a few other databases that they supply, so I might add some more features to this example down the track. And they have pay for use and free versions of all their data, which is great!

19 thoughts on “Google Maps geo-location by IP Flex example”

  1. This is great. The map showed my actual location within yards!

    Question for you about accuracy. Do you know of any resources that shows the reliability of current geolocation IP detection experiences.

    I would like to be able to assure my clients that accurately identifying an end-users geolocation by IP address to the metro, or even state, level is above 90% accurate.

    It would be great if there was some sort of public accessible statistics I could direct them to.

    I know the service/database used has a lot to do with the final accuracy results but a 99.9% accurate database still is only one piece of the puzzle for a consistently reliable end-user experience.

    Thanks!

    -john

    Reply
  2. Wonderful , I don’t know how you are getting this exact data ? I know you said maxmind . I tried maxmind for one IP ( Location India, City :- Hyderabad) it gave me wrong result . In fact I tried most of the IP geolocater and every one is giving the wrong City name.But when I tried with you search It gave me the exact right result . I tried several more IP address with your site and it gave the correct result .
    Can we use you URL
    http://blog.wrench.com.au/wp-content/uploads/2008/12/geoip/sample_city.php
    for our website 🙂

    Regards
    Kiran

    Reply
  3. Thanks Jason for the information . My website still not live . I am planing it for next month . It is kind of community website .

    I downloaded the PHP files and downloaded geolite database and tried it . But still location is showing wrong . Are you using full version of it?

    I don’t want to give the IP address here for security reasons . If you have any junk email id , I can send you the IP address.

    Regards
    Kiran

    Reply
  4. That code’s from the geolite example I linked to in the 9th comment above, but here’s the code anyway:

    country_code . ” ” . $record->country_code3 . ” ” . $record->country_name . “n”;
    //print $record->region . ” ” . $GEOIP_REGION_NAME[$record->country_code][$record->region] . “n”;
    //print $record->city . “n”;
    //print $record->postal_code . “n”;
    //print $record->latitude . “n”;
    //print $record->longitude . “n”;
    //print $record->dma_code . “n”;
    //print $record->area_code . “n”;
    print “latitude=”.$record->latitude.”&longitude=”.$record->longitude.”&city=”.$record->city.”&country=”.$record->country_name;
    geoip_close($gi);

    ?>

    Reply

Leave a comment