我正在使用ionic2。
我使用Cordova plugin add cordova-plugin-networkinterface
找到了设备的IP地址。
这是我的IP地址
192.168.1.104
如何使用设备IPAddress找到位置?
请建议我,
由于
答案 0 :(得分:1)
你可以使用ExternalIp获取位置,我会使用freegeoip.net,因此调用此URL可以获得JSON对象,如下所示:
<强>输出:强>
{
"ip": "116.12.250.1",
"country_code": "SG",
"country_name": "Singapore",
"region_code": "01",
"region_name": "Central Singapore Community Development Council",
"city": "Singapore",
"zip_code": "",
"time_zone": "Asia/Singapore",
"latitude": 1.2931,
"longitude": 103.8558,
"metro_code": 0
}
<强>限制:强>
每小时10,000次请求
对于位置(根据您的原始问题)
您可以使用Geobytes
<强>用法:强>
$.getJSON('http://gd.geobytes.com/GetCityDetails?callback=?', function(data) {
console.log(JSON.stringify(data, null, 2));
});
<强>返回:强>
{
"geobytesforwarderfor": "",
"geobytesremoteip": "116.12.250.1",
"geobytesipaddress": "116.12.250.1",
"geobytescertainty": "99",
"geobytesinternet": "SA",
"geobytescountry": "Saudi Arabia",
"geobytesregionlocationcode": "SASH",
"geobytesregion": "Ash Sharqiyah",
"geobytescode": "SH",
"geobyteslocationcode": "SASHJUBA",
"geobytescity": "Jubail",
"geobytescityid": "13793",
"geobytesfqcn": "Jubail, SH, Saudi Arabia",
"geobyteslatitude": "27.004999",
"geobyteslongitude": "49.660999",
"geobytescapital": "Riyadh ",
"geobytestimezone": "+03:00",
"geobytesnationalitysingular": "Saudi Arabian ",
"geobytespopulation": "22757092",
"geobytesnationalityplural": "Saudis",
"geobytesmapreference": "Middle East ",
"geobytescurrency": "Saudi Riyal",
"geobytescurrencycode": "SAR",
"geobytestitle": "Saudi Arabia"
}
<强>限制强>
答案 1 :(得分:0)
只有外部IP地址才有机会在现实世界中找到您。要从JavaScript中获取它,您需要一个友好的网站,为其提供易于使用的API服务。
快速搜索地理定位IP API 会显示http://ip-api.com/等提供公共IP地址和您所在位置的地方。请注意&#34;分辨率&#34; IP地址可能非常粗糙。您支付的API可能会做得更好。
要手动获取家庭的公共IP地址,您可以使用路由器标签上的说明登录路由器。其中的某个位置是显示您的公共IP地址的菜单,尽管它们可能称之为WAN地址。如果您的密码是&#34;密码&#34;这样的傻瓜,现在是时候改变密码了。我喜欢把它写在一小块磁带上,并把它大部分放在路由器上,而不是覆盖任何一个洞。