Ģeokodēšana
Serviss ļauj iegūt adreses informāciju un ģeotelpiskos datus no ievadītā adreses teksta lauka.
Servisa URL
Servisa saitei jāatbilst šādai formai:
https://api.kartes.lv/v3//geocoding?
Noklusētais atgriezto datu formāts ir JSON (pieejami arī JSONP un XML).
HTTP metode ir GET.
Pieprasījuma parametri
Iespējams padot šādus GET parametrus:
Parametrs | Skaidrojums | Vērtības |
---|---|---|
address | Teksts, kurā ievadīta adrese vai tās hash. | Parametrs obligāts, ja nav izvēlēts address_code |
address_code | Teksts, kurā ievadīts adreses kods. | Parametrs obligāts, ja nav izvēlēts address |
limit | Parametrs nosaka rezultāta maksimālo objektu skaitu. | Parametra vērtība - no 1 līdz 25 (noklusētā vērtība). |
LVA | Ja parametrs netiek padots, tad dati tiek meklēti Baltijā. Ja nepieciešams meklēt tikai Latvijā, tad jāpadod šis parametrs. | |
result_data_type | Nosaka atgriežamo datu formātu. | Pieejami 3 formāti:
|
callback | Tiek izsaukta šī parametra funkcija. | Parametrs aktuāls, ja izvēlas result_data_type=jsonp |
historical | Atgriež vēsturiskās adreses | Ja parametrs nav norādīts, meklē tikai aktuālās adreses. Ja parametra vērtība nav norādīta, meklē vēsturiskajās adresēs, ja neatrod aktuālajās adresēs. Ja parametra vērtība ir only, meklē tikai vēsturiskajās adresēs |
strict | Precīza adreses meklēšana | 1 |
Atbildes parametri
Atbildē tiek atgriezts masīvs ar objektiem, objektu parametri ir šādi:
Parametrs | Skaidrojums |
---|---|
rank | Atrastās adreses pareizuma ticamības vērtējums. |
gid | Datubāzes ieraksta identifikators. |
valsts | Valsts nosaukums. |
admin_vien | Administratīvā vienība. |
terit_vien | Teritoriālā vienība. |
apdz_vieta | Apdzīvota vieta. |
iela | Iela. |
maja | Māja. |
index | Pasta indekss. |
korpuss | Korpuss. |
x | Punkta X koordināta TM Baltic93 (EPSG:25884) koordinātu sistēmā. |
y | Punkta Y koordināta TM Baltic93 (EPSG:25884) koordinātu sistēmā. |
address_hash | Adreses hash. |
iso_code | Valsts ISO kods. |
vzd_id | adreses kods. |
lat | Ģeogrāfiskais platums WGS (EPSG:4326) formātā. |
lon | Ģeogrāfiskais garums WGS (EPSG:4326) formātā. |
adrese | Pilnā adrese. |
Kļūdu kodi
Kods | Skaidrojums |
---|---|
200 | Wrong input data. Tiek atgriezts, ja vaicājumā nav ievadīti vai nav korekti ievadīti pieprasījuma parametri. |
404 | No location found. Tiek atgriezts, ja nekas nav ticis atrasts. |
5xx | Servera kļūda. |
Paraugi
Pieprasījums:
https://api.kartes.lv/v3//geocoding?address=Brīvības&limit=1
Atbilde:
[
{
"rank": "0.356207",
"gid": "1076167001",
"valsts": "Latvija",
"admin_vien": "Rīga",
"terit_vien": "Centra rajons",
"apdz_vieta": "Rīga",
"iela": "Brīvības laukums",
"maja": "1",
"index": "LV-1050",
"korpuss": "",
"x": "506837.133000",
"y": "6311879.574000",
"address_hash": "31359ac8dbaddecb21d2a938d37dcb16",
"iso_code": "LVA",
"vzd_id": "105546121",
"lat": 57.398171,
"lon": 21.574947,
"adrese": "Brīvības laukums 1, Rīga, Centra raj., Latvija"
}
]
Pielietošanas piemēri
Ģeokodēšanas klases definēšana JavaScript kodā:
class GeocodingApi {
constructor() {
this.apiKey = 'your_api_key_here'; // Replace with your actual API key
this.baseUrl = 'https://api.kartes.lv/v3';
}
// Method to fetch geocoded data
async getGeocodingData(address, limit = 1) {
const url = `${this.baseUrl}/${this.apiKey}/geocoding?address=${encodeURIComponent(address)}&limit=${limit}`;
try {
const response = await fetch(url);
// Check if the response is ok (status code 200-299)
if (!response.ok) {
throw new Error(`Error fetching data: ${response.statusText}`);
}
const data = await response.json();
return { success: true, data };
} catch (error) {
console.error('Fetch error:', error);
return { success: false, error: error.message };
}
}
}
Ģeokodēšanas klases pielietošana:
const api = new GeocodingAPI();
api.getGeocodingData('Brīvības')
.then(result => {
if (!result.success) {
console.error('Error:', result.error); // Handle the error
return;
}
console.log(result.data);
// Use the data
});