Я хочу получить широту и долготу, не используя андроид Location Service
и Google Api
. Так есть ли способ получить широту и долготу от подключенного wifi
маршрутизатора?Можем ли мы получить долготу широты без использования местоположения api или google api
ответ
Прежде всего получить 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;
}
Пожалуйста, обратите внимание: Вы должны добавить android.permission.INTERNET и android.permission.ACCESS_WIFI_STATE в вашем AndroidManifest.xml, чтобы получить доступ к код.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
После этого используйте сторонний веб-сервис, который дает вам langitude и широту, предоставляя IP-адрес. Пример: http://www.geoipservice.asmx/GetGeoIP?IPAddress= (PASS IP AS STRING)
Надеюсь, что вы получили свой ответ !!!
Как я уже упомянул, что без использования androi d 'Location Service' –
@Android Я думаю, что вы не можете получить его без' Location Service' –
Спасибо за ответ .let мне проверить это –
становится ниже ошибки при попытке использовать выше веб-сервиса 'java.net. UnknownHostException: Невозможно разрешить хост «www.geoipservice.asmx»: нет адреса, связанного с именем хоста. –
Попробуйте этот веб-сервис http://ip-api.com/json/172.217.4.227 .. Используйте свой IP вместо Google.) .. – prashant0205