Mac/LinuxのWiFiで位置情報を取得 http://shokai.org/blog/archives/6399
このshokaiさんのwifi_locationはRubyで書いてあったのでJavaScriptに書きなおして、Node.jsで使えるものを作りました。やっていることはほとんど同じで、airpot(Mac)かiwlist(Linux)コマンドでWiFiの電波を取得、それを使ってGoogle MapのAPIから位置情報を取得します。WiFiの電波はネットがなくてもいいけれど、位置情報の方はネットが使えないと取得できません。
Linuxは持っていなくてネットで見つけたiwlistの出力を使って書いていて、実際の動作は確認してないので、おかしかったら教えて下さい。
インストール
npm install wifi_location
使い方
var wifiLocation = require('wifi_location')
wifiLocation.wifiTowers(function(err, val) {
console.log(err, val)
})
wifiLocation.location(function(err, val) {
console.log(err, val)
})
% node
> var wifiLocation = require('wifi_location')
undefined
> wifiLocation.location(console.log)
undefined
> null { latitude: 35.7124159,
longitude: 139.774889,
address:
{ country: '日本',
country_code: 'JP',
region: '東京都',
city: '台東区',
street_number: '1' },
accuracy: 57 }
swdyh/node_wifi_location https://github.com/swdyh/node_wifi_location