React Native
React Native
ipstack.com IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the ipstack.com REST API.Chilkat React Native Downloads
import { Http, JsonObject } from '@chilkat/react-native'
async function chilkatExample() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const http = new Http();
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
let jsonStr: string;
try {
jsonStr = await http.quickGetStrAsync('http://api.ipstack.com/149.250.207.170?access_key=YOUR_ACCESS_KEY');
} catch {
console.log(http.lastErrorText);
return;
}
const json = new JsonObject();
json.emitCompact = false;
json.load(jsonStr);
console.log(json.emit());
// Sample output:
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
// {
// "ip": "149.250.207.170",
// "type": "ipv4",
// "continent_code": "EU",
// "continent_name": "Europe",
// "country_code": "DE",
// "country_name": "Germany",
// "region_code": null,
// "region_name": null,
// "city": null,
// "zip": null,
// "latitude": 51.2993,
// "longitude": 9.491,
// "location": {
// "geoname_id": null,
// "capital": "Berlin",
// "languages": [
// {
// "code": "de",
// "name": "German",
// "native": "Deutsch"
// }
// ],
// "country_flag": "http:\/\/assets.ipstack.com\/flags\/de.svg",
// "country_flag_emoji": "\ud83c\udde9\ud83c\uddea",
// "country_flag_emoji_unicode": "U+1F1E9 U+1F1EA",
// "calling_code": "49",
// "is_eu": true
// }
// }
let i = 0;
let code = '';
let name = '';
let native = '';
const ip = json.stringOf('ip');
const vType = json.stringOf('type');
const continentCode = json.stringOf('continent_code');
const continentName = json.stringOf('continent_name');
const countryCode = json.stringOf('country_code');
const countryName = json.stringOf('country_name');
const regionCode = json.stringOf('region_code');
const regionName = json.stringOf('region_name');
const city = json.stringOf('city');
const zip = json.stringOf('zip');
const latitude = json.stringOf('latitude');
const longitude = json.stringOf('longitude');
const locationGeonameId = json.stringOf('location.geoname_id');
const locationCapital = json.stringOf('location.capital');
const locationCountryFlag = json.stringOf('location.country_flag');
const locationCountryFlagEmoji = json.stringOf('location.country_flag_emoji');
const locationCountryFlagEmojiUnicode = json.stringOf('location.country_flag_emoji_unicode');
const locationCallingCode = json.stringOf('location.calling_code');
i = 0;
const countI = json.sizeOfArray('location.languages');
while (i < countI) {
json.i = i;
code = json.stringOf('location.languages[i].code');
name = json.stringOf('location.languages[i].name');
native = json.stringOf('location.languages[i].native');
i++;
}
}