如何学习网络用户的位置?

时间:2010-10-26 18:30:53

标签: geolocation gps location

我们已开始开发位置感知紧急服务的应用程序。用户可以通过计算机,智能手机甚至通过WAP连接。

我们面临的问题是,我们不知道如何获取要求服务的用户的位置。如果它是支持GPS的智能手机,它可以通过应用程序找到。我已经看到谷歌地图使用BTS塔在无GPS智能手机(如诺基亚E系列)中的位置定位手机。但我找不到诺基亚网站上的任何API,我可以使用它来获取该位置或基于BTS塔的定位服务。

主要问题仍然是计算机。如果我可以找到计算机的城市就足够了。我已经在几个站点(如ip2location.com)中看到了将IP地址定位到城市级别(有时更多)。是否有其他方法可以免费定位IP地址?

如果我总结一下我的问题 -

  1. 如何获得基于BTS塔的手机定位服务?
  2. 如何定位用户的IP地址至少达到城市级别?
  3. 如何将纬度 - 经度转换为地址(至少达到城市级别)?免费?
  4. 如何将地址转换为纬度 - 经度?免费?
  5. 提前致谢。

3 个答案:

答案 0 :(得分:1)

4号是地理编码(#3称为......反向地理编码)

看看android的来源,它似乎基于手机信号塔进行三角测量(当没有GPS或WiFi可用时)

答案 1 :(得分:1)

有一些常见的蜂窝塔三角测量提供商(或越来越常见的WiFi网络三角测量):Skyhook Wireless,Google和Apple。

你可以尝试与这些公司达成交易,或者在每个人的设备上安装他们的自定义软件,但这听起来像是很多工作。我认为更成功的是利用一些框架抽象,它可以在很多设备上运行,而无需软件处理每个细节。

如果您的用户使用网络,W3C Geolocation API可为支持它的现代浏览器(桌面设备,笔记本电脑和移动设备)提供与设备当前位置无关的实施访问权限。如您所见,还有原生平台特定的框架(iPhone和Mac OS X上的CoreLocation,Windows 7位置平台,Android的LocationManager等)。

如前所述,地理编码和反向地理编码服务可以帮助您在lat-lon坐标和城市地址之间进行转换,反之亦然。

答案 2 :(得分:0)

如果您不关心超精确度,并且您不想通过提醒您的用户请求他们访问其位置的权限,那么您可以使用{{{{{{ 3}}。我已经写了一个小jQuery插件,利用它。请参阅FreeGeoIP。也支持jsonp请求,以便您可以从任何网站使用它,包括仅限静态HTML的网站。