使用Google Geolocation API按MAC地址定位802.11接入点

时间:2011-01-10 03:14:21

标签: javascript geolocation

现在,大多数浏览器都内置了对Google Geolocation API的支持。他们这样做的部分原因是向Google发送附近802.11接入点的MAC地址(那些信标由您的计算机捕获的人)。

我从各个位置捕获了大量的802.11数据包。我正在寻找地理定位802.11接入点。假设我们只有他们的mac地址。这应该可以通过使用Google Geolocation API来实现。

我迄今为止发现的可能对此有帮助的来源包括:

第一个可能是最好的选择。问题是,我不确定如何在那里使用这个例子,并且实际上创建了一个程序,它允许我管道MAC地址并输出纬度/经度对。我也不确定如何从Unix / MacOS命令行运行JavaScript。

我知道这有很多要问,但有人知道我应该从哪里开始吗?

1 个答案:

答案 0 :(得分:9)

<?php

$mac = $_SERVER['argv'][1];


$postData = '{
    "version": "1.1.0", 
    "wifi_towers": [{
        "mac_address": "' . $mac . '", 
        "ssid": "0", 
        "signal_strength":-72
    }]
}';

$opts = array(
  'http'=>array(
    'method' => "POST",
    'header'  => 'Content-type: application/x-www-form-urlencoded',
    'content' => $postData
  )
);


$response = file_get_contents(
    'http://www.google.com/loc/json', 
    false, 
    stream_context_create($opts)
);

$loc = json_decode($response, true);

echo $loc['location']['latitude'];
echo ',';
echo $loc['location']['longitude'];

命令行用法:

php geo.php "mac addy here"