获取用户在移动设备的AS3 / Air应用程序中的位置

时间:2013-09-09 06:50:12

标签: actionscript-3 air

我有一个本机应用程序,我想存储登录到我的应用程序的用户所在的位置(只是国家会很好)所以我可以为他们自定义一些功能。

我使用PHP作为后端。我做了一些搜索,但没有找到明确的确定。不确定如何使设备的IP能够将其转换为某个位置。

由于

3 个答案:

答案 0 :(得分:1)

您是否看过http://www.ip2location.com/ 您可以在php后端使用它来将ip转换为地址

答案 1 :(得分:1)

我必须为我之前的项目做这件事。最好的选择是不要依赖IP地址,特别是在移动设备上(当我在凤凰城的时候,我的手机IP目前在犹他州北部的某个地方)。使用GeoLocation API。这将为您提供通常相当准确的用户的纬度,经度位置。然后,您可以使用GeoCoding服务来确定他们使用反向地理编码的国家/地区。谷歌的GeoCoding API非常精彩,他们的条款最近(4月份)大幅度放松,使其更易于使用。我也可以从OpenStreetMaps推荐Nominatim(他们的条款相当严格,但你可以使用MapQuest的Nominatim服务,你可以随意使用它)。

编辑:正如Pier所说,ANE需要在移动设备上使用NetworkInfo。如果您尝试在没有ANE的情况下在移动设备上使用它,则会导致您的应用崩溃。

但是,如果您开始使用IP,则可以通过NetworkInfo类获取它。 NetworkInfo.networkInfo.findInterfaces()会为您提供一堆NetworkInterface个对象。你会找InterfaceAddress。我警告你,但是,我过去很难将这种方法用于移动设备,尤其是iOS。另外,我不记得它是否返回网络IP(即192.168.1.17)或连接到网络的实际IP。显然,本地知识产权对您没有好处。

答案 2 :(得分:0)

如果我是你,我会使用地理位置。如果它是一个移动设备,你可以使用gps或手机信号塔(不太准确)来获取他们的位置,但如果这不是你的选择,你没有能力使用像PHP,asp等服务器端技术轻松获取IP,也许这篇文章会有所帮助:How to find the ip address in as3?