views:

572

answers:

2

Hi (first question)

I'm trying to find the physical location of a computer using a language like Java/C. The only good accurate solution seems to be Google Gears (http://code.google.com/apis/gears/api%5Fgeolocation.html). MaxMind have an API but it only uses IP addresses and seems very inaccurate (I want the exact address whenever possible).

There are plenty of samples in JavaScript but that requires the Gears software to be installed. I think I need:

  • IP address (easy)
  • Wireless/cell network information
  • Then create a JSON request like in: code.google.com/apis/gears/geolocation_network_protocol.html

The only difficulty I think is getting the wireless/cell network info. Can someone please provide some pointers? I looked at this -- nicomsoft.com/wifiman/ -- but $600 is quite high, plus I don't actually know any of the languages it is made for (C/C++, Delphi, VB, VB.NET, C#), although I'm willing to learn (I know Java).

Thanks! (Sorry for not linkifying the links -- not allowed to because I'm a new member.)

A: 

You'll be needing MAC address, SSID, and signal strength of nearby wifi routers for the geolocation API.

If you're trying to do it on Windows and Java, this might be a little bit of help: Wifi Information in Java

If you're going to do it on Windows (and some other language), you'll need to write or find a library that interfaces with Windows Native Wifi API. Some examples for C#: Managed Wifi API and How to access wireless network parameters using native WiFi API.

srand
A: 

Tried SkyHook?

Skyhook's publicly available SDK allows developers to quickly and easily start location-enabling their applications using Skyhook's software-only Wi-Fi Positioning System on the platform of their choice.

The whole site is a bit light on concrete information, though, I can't tell if it's free or commercial.

skaffman
Skyhook is the technology that's used in the iPhone, by the way -- it's what allowed the pre-GPS-enabled iPhones to still be able to geolocate a hell of a lot better than the cell-phone-triangulation method used on other devices.
delfuego