我希望在不使用Android Location Service
和Google Api
的情况下获得纬度和经度。
那么有没有办法从连接的wifi
路由器获取纬度和经度?
答案 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)