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

Actionscript 3 在AS3/Air移动设备应用程序中获取用户的位置,actionscript-3,air,Actionscript 3,Air,我有一个本地应用程序,我想存储用户登录我的应用程序的位置(只要国家/地区就可以了),这样我就可以为他们定制一些功能 我使用PHP作为后端。我做了一些搜索,但没有找到确切的答案。不确定如何获取设备的IP,以便能够将其转换到某个位置 谢谢你看了吗 您可以在php后端使用它将ip转换为地址如果我是您,我会使用地理位置。如果是移动设备,你可以使用gps或cell tower(不太准确)来获取他们的位置,但如果你不选择这种方式,并且你没有能力使用服务器端技术,如php、asp等轻松获取ip,那么这篇文章可

我有一个本地应用程序,我想存储用户登录我的应用程序的位置(只要国家/地区就可以了),这样我就可以为他们定制一些功能

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

谢谢你看了吗
您可以在php后端使用它将ip转换为地址

如果我是您,我会使用地理位置。如果是移动设备,你可以使用gps或cell tower(不太准确)来获取他们的位置,但如果你不选择这种方式,并且你没有能力使用服务器端技术,如php、asp等轻松获取ip,那么这篇文章可能会有所帮助:

我必须为我以前的项目这样做。最好的办法是不要依赖IP地址,尤其是在移动设备上(我的手机的IP目前在犹他州北部的某个地方,而我实际上在凤凰城)。使用。这将给你一个用户的纬度,经度位置,这通常是相当准确的。然后,您可以使用地理编码服务来确定使用反向地理编码的国家。谷歌的是神奇的,他们的条款最近(4月)大幅放宽,使其更易于使用。我还可以从OpenStreetMaps推荐Nagnitm(它们的条款非常严格,但您可以使用MapQuest的Nagnitm服务,该服务非常免费,您可以随意使用)

编辑:正如Pier所提到的,在手机上使用NetworkInfo需要一个ANE。如果你试图在没有电子邮箱的手机上使用它,它会使你的应用程序崩溃


但是,如果设置为使用IPs,则可以通过
NetworkInfo
类获取
NetworkInfo.NetworkInfo.findInterfaces()
将为您提供一组
NetworkInterface
对象。你会找的。不过,我要提醒你的是,我过去很难在移动设备上使用这种方法,尤其是在iOS上。此外,我不记得它是否返回网络IP(即192.168.1.17)或连接到web的实际IP。本地IP显然对您没有好处。

谢谢。也许我应该在这个问题上再清楚一点(更新)。我需要知道如何获取移动设备的IP,以便我可以将其转换到某个位置。顺便说一句,
NetworkInfo
类在移动设备上不起作用,您需要使用本机扩展名(ANE)。@Pier Yes。这正是我所指的,当我说它很难在手机上使用时。我记不清确切的原因,只是这很难。谢谢你指出这一点。谢谢你的回答/评论。我使用的是Distriqt网络ANE,我刚刚和他们的开发者谈过,但是这个ANE无法获得移动设备的公共IP,只有内部IP不好。如果我无法获得IP,我正在考虑地理定位,但如果可能的话,我不想在应用程序中添加其他功能。Distriqt从我的PHP脚本中建议了一个简单的远程地址,看起来还不错……在我试过的一个测试设备上。首先要做更多的测试。@puks1978同样,移动设备上的IP地址可能不准确。正如我提到的,我手机的IP显示我在犹他州北部,而实际上我在亚利桑那州的凤凰城。您应该使用
地理定位
。这就是它的全部目的API@JoshJanusch我认为你应该修改你的答案。您描述的行为仅适用于桌面。在移动设备中,它将冻结应用程序。