Pracuję nad aplikacją na Androida. Chcę określić lokalizację urządzenia przy użyciu jego adresu IP. Gdzie zaczynam? Linki w interfejsach Google API nie są wystarczająco przekonujące. Dzięki.Jak określić lokalizację urządzenia w systemie Android przy użyciu adresu IP
Odpowiedz
Powinieneś użyć następnie odłogiem API do uzyskania lokalizacji przy użyciu ip.
Istnieje kilka web-services, który zapewnia Ci szerokości i długości geograficznej wartość z adresu IP.
jeden taki jest api.ipinfodb.com
ex można szerokości i długości, wysyłając prośbę jak
http://api.ipinfodb.com/v3/ip-city/?key=<your_api_key>
&ip=74.125.45.100&format=json
ten zwraca dane w formacie JSON i można dostać odpowiedź w XML, ustawiając format = xml. (Aby uzyskać klucz API, musisz się zarejestrować).
lub można pobrać bazę danych z linku this i this.
możesz pobierać zestawy danych, ale musisz je stale aktualizować.
próbowałem uzyskać klucz API dla tej witryny, ale bezskutecznie. Ciągle prosi o podanie mojej lokalizacji, nawet jeśli ją podałem. Czy chcesz udostępnić swój klucz? –
używam this dostać ip, kraj i miasto urządzeniu
przetestować można użyć RESTCLIENT, firefox addon do wykonywania żądań HTTP.
prostu skopiować https://addons.mozilla.org/en-us/firefox/addon/restclient/ ten URL i wykonaj test w RESTCLIENT lub tuż obok w pasku adresu przeglądarki
Nadzieja pomaga to!
Dobre znalezisko. Bardzo proste użycie tego linku: http://api.hostip.info/get_json.php –
Zamówienie POST Google Maps Geolocation API
Próbka:
https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY
odpowiedź próbki:
{
"location": {
"lat": 51.0,
"lng": -0.1
},
"accuracy": 1200.4
}
Ograniczenia:
Użytkownicy standardowego API:
2500 darmowych zapytań dziennie 10 zapytań na sekundę, dla każdego użytkownika Włącz pay-as-you-go rozliczeń do odblokowania wyższych kwot:
$ 0,50 USD/1000 dodatkowe pytania , do 100 000 dziennie.
Można użyć freegeoip.net.
To bezpłatna usługa typu open source. Możesz skorzystać z usługi bezpośrednio lub uruchomić ją na swoim osobistym serwerze. Można go również łatwo wdrożyć w Heroku.
Aby uzyskać lokalizację IP wystarczy użyć OkHttp aby wysłać żądanie HTTP/HTTPS:
String url = "https://freegeoip.net/json/"
Request mRequest = new Request.Builder()
.url(url)
.build();
Context mContext // A UI context
new OkHttpClient().newCall(mRequest).enqueue(new Callback() {
Handler mainHandler = new Handler(mContext.getApplicationContext().getMainLooper());
@Override
public void onResponse(Call call, Response response) {
String responseBody = null;
try {
responseBody = response.body().string();
} catch (final IOException e) {
mainHandler.post(new Runnable() {
@Override
public void run() {
// handle error
}
});
}
final String finalResponseBody = responseBody;
mainHandler.post(new Runnable() {
@Override
public void run() {
// handle response body
try {
JSONObject locationObject = new JSONObject(finalResponseBody);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
@Override
public void onFailure(Call call, final IOException e) {
mainHandler.post(new Runnable() {
@Override
public void run() {
mNetworkListener.onNetworkError(e.getMessage());
}
});
}
});
a odpowiedź będzie wyglądać mniej więcej tak:
{
"ip": "192.30.253.113",
"country_code": "US",
"country_name": "United States",
"region_code": "CA",
"region_name": "California",
"city": "San Francisco",
"zip_code": "94107",
"time_zone": "America/Los_Angeles",
"latitude": 37.7697,
"longitude": -122.3933,
"metro_code": 807
}
- 1. Python Uzyskiwanie adresu IP urządzenia LAN w systemie Ubuntu
- 2. Zabezpieczenia WCF przy użyciu adresu IP klienta
- 3. Testowanie urządzenia w systemie Android przy użyciu ActivityUnitTestCase i PreferenceManager
- 4. Jak pobrać lokalizację urządzenia przy użyciu interfejsu API interfejsu API?
- 5. Jak określić bieżącą lokalizację urządzenia z systemem Android bez względu na ustawienia lokalizacji użytkownika?
- 6. Wykrywanie zmiany adresu IP w systemie Linux
- 7. Jak zdobyć adres IP hotspotu Wi-Fi w systemie Android?
- 8. Jak określić prędkość urządzenia z systemem Android?
- 9. Trilateracja w systemie Android przy użyciu iBeaconów
- 10. Jak dokładnie określić lokalizację odwiedzającego moją witrynę?
- 11. Uzyskać lokalizację wifi ip w Androidzie
- 12. Uzyskiwanie adresu IP z żądania HTTP POST przy użyciu Pythona
- 13. przycinanie adresu IP oktet
- 14. Jak pracować z obrazem przy użyciu adresu URL w Androidzie?
- 15. Znajdowanie adresu IP użytkownika
- 16. Statyczne IP przy użyciu Elastic Beanstalk
- 17. Jak określić opóźnienie dźwięku (ścieżka dźwiękowa) w systemie Android?
- 18. Uzyskiwanie lokalnego adresu IP
- 19. Jak określić maksymalną pamięć tekstury w systemie Android OpenGL ES
- 20. Rozpoznawanie adresu IP nazwy hosta
- 21. Jak znaleźć adres IP aktywnego urządzenia AirPlay?
- 22. Wykryj adres IP Wi-Fi w systemie Android?
- 23. Obsługa nowego urządzenia Bluetooth w systemie Android
- 24. jak uzyskać IP za NAT przy użyciu php?
- 25. Nie można uzyskać dostępu do aplikacji App Engine uruchomionej w Studio Android przy użyciu aplikacji urządzenia Android w sieci LAN
- 26. Jak znaleźć adres IP LAN urządzenia z systemem Android?
- 27. Skrypt do zmiany adresu IP w systemie Windows
- 28. Przywracanie stanu w systemie Android przy użyciu przycisku "w górę"
- 29. Jak uzyskać aktualną lokalizację w GoogleMap przy użyciu usługi FusedLocationProviderClient
- 30. Jak programowo sprawdzić stan połączenia urządzenia Bluetooth w systemie Android?
niestety, po tylu latach, nic pod tym linkiem działa – SREE