我们可以在不使用location api或google api的情况下获得纬度经度

时间:2016-06-14 04:58:50

标签: android location wifi latitude-longitude

我希望在不使用Android Location ServiceGoogle Api的情况下获得纬度和经度。 那么有没有办法从连接的wifi路由器获取纬度和经度?

2 个答案:

答案 0 :(得分:2)

首先使用以下代码获取IP地址:

 public String getIpAddr() {
   WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
   WifiInfo wifiInfo = wifiManager.getConnectionInfo();
   int ip = wifiInfo.getIpAddress();

   String ipString = String.format("%d.%d.%d.%d", (ip & 0xff), (ip >> 8 & 0xff), (ip >> 16 & 0xff), (ip >> 24 & 0xff));
   return ipString;
}

请注意:您需要在AndroidManifest.xml中添加android.permission.INTERNET和android.permission.ACCESS_WIFI_STATE以访问代码。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

在此之后使用一些第三方Web服务,通​​过提供IP为您提供经度和纬度。示例:http://www.geoipservice.asmx/GetGeoIP?IPAddress=(PASS IP AS STRING)

希望你得到答案!!!

答案 1 :(得分:0)

试试此代码

code

这将为您提供经度和纬度