refactor(backend): put fetch into context

It's a best practice to add HTTP API clients to the `context`. Standard Apollo GraphQL tutorial has an example:
https://www.apollographql.com/docs/apollo-server/data/context#resolvers

Also database drivers, loggers, message queues or process environment defined configuration should go into the `context`, just like HTTP-clients.
This commit is contained in:
Robert Schäfer 2025-05-28 18:16:09 +08:00
parent 83b7c3eceb
commit cca7d78d25
20 changed files with 4781 additions and 34 deletions

View File

@ -0,0 +1,19 @@
import request from 'request'
export const fetch = (url: string) => {
// eslint-disable-next-line promise/avoid-new
return new Promise((resolve, reject) => {
// eslint-disable-next-line promise/prefer-await-to-callbacks
request(url, function (error, response, body) {
if (error) {
reject(error)
} else {
const response = JSON.parse(body) // eslint-disable-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-argument
// console.log(url)
// console.log(JSON.stringify(response, null, 2))
resolve(response)
}
})
})
}
export type Fetch = typeof fetch

View File

@ -1,6 +1,8 @@
/* eslint-disable @typescript-eslint/no-unsafe-return */
import databaseContext from '@context/database'
import type { Fetch } from '@context/fetch'
import { fetch as defaultFetch } from '@context/fetch'
import pubsubContext from '@context/pubsub'
import CONFIG from '@src/config'
import type { DecodedUser } from '@src/jwt/decode'
@ -17,6 +19,7 @@ export const getContext =
pubsub?: ReturnType<typeof pubsubContext>
authenticatedUser: DecodedUser | null | undefined
config: typeof CONFIG
fetch: Fetch
}) =>
async (req: { headers: { authorization?: string } }) => {
const {
@ -24,6 +27,7 @@ export const getContext =
database = serverDatabase,
pubsub = serverPubsub,
config = CONFIG,
fetch = defaultFetch,
} = opts ?? {}
const { driver } = database
const user =
@ -41,6 +45,7 @@ export const getContext =
currentUserId: user ? user.id : null,
},
config,
fetch,
}
return result
}

View File

@ -16,6 +16,7 @@ import { createPostMutation } from '@graphql/queries/createPostMutation'
import { createRoomMutation } from '@graphql/queries/createRoomMutation'
import { joinGroupMutation } from '@graphql/queries/joinGroupMutation'
import { createApolloTestSetup } from '@root/test/helpers'
import { fetch as actualFetch } from '@src/context/fetch'
import Factory from './factories'
import { trophies, verification } from './seed/badges'
@ -38,6 +39,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
const context = () => ({
authenticatedUser,
config: CONFIG,
fetch: actualFetch,
})
const apolloSetup = createApolloTestSetup({ context })
const { mutate, server, database } = apolloSetup

View File

@ -15,7 +15,6 @@ import { updateGroupMutation } from '@graphql/queries/updateGroupMutation'
import type { ApolloTestSetup } from '@root/test/helpers'
import { createApolloTestSetup } from '@root/test/helpers'
import type { Context } from '@src/context'
// import CONFIG from '@src/config'
let user
let noMemberUser

View File

@ -40,6 +40,11 @@ beforeAll(async () => {
beforeEach(async () => {
await cleanDatabase()
const apolloSetup = createApolloTestSetup({ context })
mutate = apolloSetup.mutate
query = apolloSetup.query
database = apolloSetup.database
server = apolloSetup.server
})
afterAll(async () => {

View File

@ -14,7 +14,6 @@ import type { ApolloTestSetup } from '@root/test/helpers'
import { createApolloTestSetup } from '@root/test/helpers'
import type { Context } from '@src/context'
import type { DecodedUser } from '@src/jwt/decode'
// import CONFIG from '@src/config'
const categoryIds = ['cat9']
let user

View File

@ -8,15 +8,15 @@ import type { ApolloTestSetup } from '@root/test/helpers'
import { createApolloTestSetup } from '@root/test/helpers'
import type { Context } from '@src/context'
let mutate: ApolloTestSetup['mutate']
let query: any // eslint-disable-line @typescript-eslint/no-explicit-any
let database: ApolloTestSetup['database']
let server: ApolloTestSetup['server']
let variables
let authenticatedUser: Context['user']
const context = () => ({
authenticatedUser,
})
let mutate: ApolloTestSetup['mutate']
let query: any // eslint-disable-line @typescript-eslint/no-explicit-any
let database: ApolloTestSetup['database']
let server: ApolloTestSetup['server']
const updateUserMutation = gql`
mutation ($id: ID!, $name: String!, $locationName: String) {

View File

@ -6,25 +6,11 @@
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable @typescript-eslint/no-unsafe-return */
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable promise/avoid-new */
/* eslint-disable promise/prefer-await-to-callbacks */
import { UserInputError } from 'apollo-server'
import request from 'request'
import type { Context } from '@src/context'
const fetch = (url) => {
return new Promise((resolve, reject) => {
request(url, function (error, response, body) {
if (error) {
reject(error)
} else {
resolve(JSON.parse(body))
}
})
})
}
const locales = ['en', 'de', 'fr', 'nl', 'it', 'es', 'pt', 'pl', 'ru']
const createLocation = async (session, mapboxData) => {
@ -85,13 +71,12 @@ export const createOrUpdateLocations = async (
let locationId
if (locationName !== null) {
const res: any = await fetch(
`https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(
locationName,
)}.json?access_token=${
context.config.MAPBOX_TOKEN
}&types=region,place,country,address&language=${locales.join(',')}`,
)
const url = `https://api.mapbox.com/geocoding/v5/mapbox.places/${encodeURIComponent(
locationName,
)}.json?access_token=${
context.config.MAPBOX_TOKEN
}&types=region,place,country,address&language=${locales.join(',')}`
const res: any = await context.fetch(url)
if (!res?.features?.[0]) {
throw new UserInputError('locationName is invalid')
@ -166,9 +151,8 @@ export const createOrUpdateLocations = async (
}
export const queryLocations = async ({ place, lang }, context: Context) => {
const res: any = await fetch(
`https://api.mapbox.com/geocoding/v5/mapbox.places/${place}.json?access_token=${context.config.MAPBOX_TOKEN}&types=region,place,country&language=${lang}`,
)
const url = `https://api.mapbox.com/geocoding/v5/mapbox.places/${place}.json?access_token=${context.config.MAPBOX_TOKEN}&types=region,place,country&language=${lang}`
const res: any = await context.fetch(url)
// Return empty array if no location found or error occurred
if (!res?.features) {
return []

View File

@ -0,0 +1,255 @@
export const berlinDe = {
type: 'FeatureCollection',
query: ['berlin'],
features: [
{
id: 'place.115770',
type: 'Feature',
place_type: ['region', 'place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBY1E2',
wikidata: 'Q64',
short_code: 'DE-BE',
},
text_de: 'Berlin',
language_de: 'de',
place_name_de: 'Berlin, Deutschland',
text: 'Berlin',
language: 'de',
place_name: 'Berlin, Deutschland',
bbox: [13.08836, 52.338261, 13.760906, 52.675502],
center: [13.38886, 52.517037],
geometry: {
type: 'Point',
coordinates: [13.38886, 52.517037],
},
context: [
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_de: 'Deutschland',
language_de: 'de',
text: 'Deutschland',
language: 'de',
},
],
},
{
id: 'place.25995500',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWXlvN0E',
wikidata: 'Q614184',
},
text_de: 'Berlin',
language_de: 'de',
place_name_de: 'Berlin, Maryland, Vereinigte Staaten',
text: 'Berlin',
language: 'de',
place_name: 'Berlin, Maryland, Vereinigte Staaten',
bbox: [-75.364989, 38.141747, -75.087625, 38.4078],
center: [-75.219004, 38.324728],
geometry: {
type: 'Point',
coordinates: [-75.219004, 38.324728],
},
context: [
{
id: 'district.25396972',
mapbox_id: 'dXJuOm1ieHBsYzpBWU9HN0E',
wikidata: 'Q494072',
text_de: 'Worcester County',
language_de: 'de',
text: 'Worcester County',
language: 'de',
},
{
id: 'region.124140',
mapbox_id: 'dXJuOm1ieHBsYzpBZVRz',
wikidata: 'Q1391',
short_code: 'US-MD',
text_de: 'Maryland',
language_de: 'de',
text: 'Maryland',
language: 'de',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text: 'Vereinigte Staaten',
language: 'de',
},
],
},
{
id: 'place.25970924',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWXhJN0E',
wikidata: 'Q1086827',
},
text_de: 'Berlin',
language_de: 'de',
place_name_de: 'Berlin, New Jersey, Vereinigte Staaten',
text: 'Berlin',
language: 'de',
place_name: 'Berlin, New Jersey, Vereinigte Staaten',
bbox: [-74.974491, 39.70904, -74.878605, 39.809363],
center: [-74.929456, 39.791432],
geometry: {
type: 'Point',
coordinates: [-74.929456, 39.791432],
},
context: [
{
id: 'district.3016428',
mapbox_id: 'dXJuOm1ieHBsYzpMZ2Jz',
wikidata: 'Q497810',
text_de: 'Camden County',
language_de: 'de',
text: 'Camden County',
language: 'de',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_de: 'New Jersey',
language_de: 'de',
text: 'New Jersey',
language: 'de',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text: 'Vereinigte Staaten',
language: 'de',
},
],
},
{
id: 'place.26118380',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWTZJN0E',
wikidata: 'Q2219095',
},
text_de: 'Berlin Heights',
language_de: 'de',
place_name_de: 'Berlin Heights, Ohio, Vereinigte Staaten',
text: 'Berlin Heights',
language: 'de',
place_name: 'Berlin Heights, Ohio, Vereinigte Staaten',
bbox: [-82.54353, 41.285345, -82.382139, 41.364821],
center: [-82.493433, 41.325154],
geometry: {
type: 'Point',
coordinates: [-82.493433, 41.325154],
},
context: [
{
id: 'district.7235308',
mapbox_id: 'dXJuOm1ieHBsYzpibWJz',
wikidata: 'Q111310',
text_de: 'Erie County',
language_de: 'de',
text: 'Erie County',
language: 'de',
},
{
id: 'region.140524',
mapbox_id: 'dXJuOm1ieHBsYzpBaVRz',
wikidata: 'Q1397',
short_code: 'US-OH',
text_de: 'Ohio',
language_de: 'de',
text: 'Ohio',
language: 'de',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text: 'Vereinigte Staaten',
language: 'de',
},
],
},
{
id: 'place.26044652',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWTFvN0E',
wikidata: 'Q524646',
},
text_de: 'Berlin',
language_de: 'de',
place_name_de: 'Berlin, Massachusetts, Vereinigte Staaten',
text: 'Berlin',
language: 'de',
place_name: 'Berlin, Massachusetts, Vereinigte Staaten',
bbox: [-71.678766, 42.350413, -71.58015, 42.418232],
center: [-71.638302, 42.381333],
geometry: {
type: 'Point',
coordinates: [-71.638302, 42.381333],
},
context: [
{
id: 'district.25405164',
mapbox_id: 'dXJuOm1ieHBsYzpBWU9tN0E',
wikidata: 'Q54093',
text_de: 'Worcester County',
language_de: 'de',
text: 'Worcester County',
language: 'de',
},
{
id: 'region.353516',
mapbox_id: 'dXJuOm1ieHBsYzpCV1Rz',
wikidata: 'Q771',
short_code: 'US-MA',
text_de: 'Massachusetts',
language_de: 'de',
text: 'Massachusetts',
language: 'de',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text: 'Vereinigte Staaten',
language: 'de',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,254 @@
export const berlinEn = {
type: 'FeatureCollection',
query: ['berlin'],
features: [
{
id: 'place.115770',
type: 'Feature',
place_type: ['region', 'place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBY1E2',
wikidata: 'Q64',
short_code: 'DE-BE',
},
text_en: 'Berlin',
language_en: 'en',
place_name_en: 'Berlin, Germany',
text: 'Berlin',
language: 'en',
place_name: 'Berlin, Germany',
bbox: [13.08836, 52.338261, 13.760906, 52.675502],
center: [13.38886, 52.517037],
geometry: {
type: 'Point',
coordinates: [13.38886, 52.517037],
},
context: [
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
},
],
},
{
id: 'place.25995500',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWXlvN0E',
wikidata: 'Q614184',
},
text_en: 'Berlin',
language_en: 'en',
place_name_en: 'Berlin, Maryland, United States',
text: 'Berlin',
language: 'en',
place_name: 'Berlin, Maryland, United States',
bbox: [-75.364989, 38.141747, -75.087625, 38.4078],
center: [-75.219004, 38.324728],
geometry: {
type: 'Point',
coordinates: [-75.219004, 38.324728],
},
context: [
{
id: 'district.25396972',
mapbox_id: 'dXJuOm1ieHBsYzpBWU9HN0E',
wikidata: 'Q494072',
text_en: 'Worcester County',
language_en: 'en',
text: 'Worcester County',
language: 'en',
},
{
id: 'region.124140',
mapbox_id: 'dXJuOm1ieHBsYzpBZVRz',
wikidata: 'Q1391',
short_code: 'US-MD',
text_en: 'Maryland',
language_en: 'en',
text: 'Maryland',
language: 'en',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
},
],
},
{
id: 'place.25970924',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWXhJN0E',
wikidata: 'Q1086827',
},
text_en: 'Berlin',
language_en: 'en',
place_name_en: 'Berlin, New Jersey, United States',
text: 'Berlin',
language: 'en',
place_name: 'Berlin, New Jersey, United States',
bbox: [-74.974491, 39.70904, -74.878605, 39.809363],
center: [-74.929456, 39.791432],
geometry: {
type: 'Point',
coordinates: [-74.929456, 39.791432],
},
context: [
{
id: 'district.3016428',
mapbox_id: 'dXJuOm1ieHBsYzpMZ2Jz',
wikidata: 'Q497810',
text_en: 'Camden County',
language_en: 'en',
text: 'Camden County',
language: 'en',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_en: 'New Jersey',
language_en: 'en',
text: 'New Jersey',
language: 'en',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
},
],
},
{
id: 'place.26036460',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWTFJN0E',
},
text_en: 'Berlin',
language_en: 'en',
place_name_en: 'Berlin, Connecticut, United States',
text: 'Berlin',
language: 'en',
place_name: 'Berlin, Connecticut, United States',
bbox: [-72.840244, 41.554195, -72.712381, 41.652706],
center: [-72.73954, 41.628325],
geometry: {
type: 'Point',
coordinates: [-72.73954, 41.628325],
},
context: [
{
id: 'district.10020588',
mapbox_id: 'dXJuOm1ieHBsYzptT2Jz',
wikidata: 'Q54236',
text_en: 'Hartford County',
language_en: 'en',
text: 'Hartford County',
language: 'en',
},
{
id: 'region.361708',
mapbox_id: 'dXJuOm1ieHBsYzpCWVRz',
wikidata: 'Q779',
short_code: 'US-CT',
text_en: 'Connecticut',
language_en: 'en',
text: 'Connecticut',
language: 'en',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
},
],
},
{
id: 'place.26118380',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBWTZJN0E',
wikidata: 'Q2219095',
},
text_en: 'Berlin Heights',
language_en: 'en',
place_name_en: 'Berlin Heights, Ohio, United States',
text: 'Berlin Heights',
language: 'en',
place_name: 'Berlin Heights, Ohio, United States',
bbox: [-82.54353, 41.285345, -82.382139, 41.364821],
center: [-82.493433, 41.325154],
geometry: {
type: 'Point',
coordinates: [-82.493433, 41.325154],
},
context: [
{
id: 'district.7235308',
mapbox_id: 'dXJuOm1ieHBsYzpibWJz',
wikidata: 'Q111310',
text_en: 'Erie County',
language_en: 'en',
text: 'Erie County',
language: 'en',
},
{
id: 'region.140524',
mapbox_id: 'dXJuOm1ieHBsYzpBaVRz',
wikidata: 'Q1397',
short_code: 'US-OH',
text_en: 'Ohio',
language_en: 'en',
text: 'Ohio',
language: 'en',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,742 @@
export const berlinGermany = {
type: 'FeatureCollection',
query: ['berlin', 'germany'],
features: [
{
id: 'place.115770',
type: 'Feature',
place_type: ['region', 'place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBY1E2',
wikidata: 'Q64',
short_code: 'DE-BE',
},
text_en: 'Berlin',
language_en: 'en',
place_name_en: 'Berlin, Germany',
text: 'Berlin',
language: 'en',
place_name: 'Berlin, Germany',
text_de: 'Berlin',
language_de: 'de',
place_name_de: 'Berlin, Deutschland',
text_fr: 'Berlin',
language_fr: 'fr',
place_name_fr: 'Berlin, Allemagne',
text_nl: 'Berlijn',
language_nl: 'nl',
place_name_nl: 'Berlijn, Duitsland',
text_it: 'Berlino',
language_it: 'it',
place_name_it: 'Berlino, Germania',
text_es: 'Berlín',
language_es: 'es',
place_name_es: 'Berlín, Alemania',
text_pt: 'Berlim',
language_pt: 'pt',
place_name_pt: 'Berlim, Alemanha',
text_pl: 'Berlin',
language_pl: 'pl',
place_name_pl: 'Berlin, Niemcy',
text_ru: 'Берлин',
language_ru: 'ru',
place_name_ru: 'Берлин, Германия',
bbox: [13.08836, 52.338261, 13.760906, 52.675502],
center: [13.38886, 52.517037],
geometry: {
type: 'Point',
coordinates: [13.38886, 52.517037],
},
context: [
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.1882189389165686',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6Y2EyZjMxNmMtZjBhMy00ZmYwLWEwODgtZDYxMzg4ZmUwNTVh',
},
text_en: 'Berlin',
place_name_en: 'Berlin, 24848 Klein Bennebek, Germany',
text: 'Berlin',
place_name: 'Berlin, 24848 Klein Bennebek, Germany',
text_de: 'Berlin',
place_name_de: 'Berlin, 24848 Klein Bennebek, Deutschland',
text_fr: 'Berlin',
place_name_fr: 'Berlin, 24848 Klein Bennebek, Allemagne',
text_nl: 'Berlin',
place_name_nl: 'Berlin, 24848 Klein Bennebek, Duitsland',
text_it: 'Berlin',
place_name_it: 'Berlin, 24848 Klein Bennebek, Germania',
text_es: 'Berlin',
place_name_es: 'Berlin, 24848 Klein Bennebek, Alemania',
text_pt: 'Berlin',
place_name_pt: 'Berlin, 24848 Klein Bennebek, Alemanha',
text_pl: 'Berlin',
place_name_pl: 'Berlin, 24848 Klein Bennebek, Niemcy',
text_ru: 'Berlin',
place_name_ru: 'Berlin, 24848 Клайн-Беннебек, Германия',
center: [9.422626, 54.404248],
geometry: {
type: 'Point',
coordinates: [9.422626, 54.404248],
},
context: [
{
id: 'postcode.13266490',
mapbox_id: 'dXJuOm1ieHBsYzp5bTQ2',
text_en: '24848',
text: '24848',
text_de: '24848',
text_fr: '24848',
text_nl: '24848',
text_it: '24848',
text_es: '24848',
text_pt: '24848',
text_pl: '24848',
text_ru: '24848',
},
{
id: 'place.40798266',
mapbox_id: 'dXJuOm1ieHBsYzpBbTZJT2c',
wikidata: 'Q556639',
text_en: 'Klein Bennebek',
language_en: 'en',
text: 'Klein Bennebek',
language: 'en',
text_de: 'Klein Bennebek',
language_de: 'de',
text_fr: 'Klein Bennebek',
language_fr: 'fr',
text_nl: 'Klein Bennebek',
language_nl: 'nl',
text_it: 'Klein Bennebek',
language_it: 'it',
text_es: 'Klein Bennebek',
language_es: 'es',
text_pt: 'Klein Bennebek',
language_pt: 'pt',
text_pl: 'Klein Bennebek',
language_pl: 'pl',
text_ru: 'Клайн-Беннебек',
language_ru: 'ru',
},
{
id: 'district.1885754',
mapbox_id: 'dXJuOm1ieHBsYzpITVk2',
wikidata: 'Q2941',
text_en: 'Distrito de Schleswig-Flensburg',
language_en: 'es',
text: 'Distrito de Schleswig-Flensburg',
language: 'es',
text_de: 'Kreis Schleswig-Flensburg',
language_de: 'de',
text_fr: 'Kreis Schleswig-Flensburg',
text_nl: 'Kreis Schleswig-Flensburg',
text_it: 'Kreis Schleswig-Flensburg',
text_es: 'Distrito de Schleswig-Flensburg',
language_es: 'es',
text_pt: 'Distrito de Schleswig-Flensburg',
language_pt: 'es',
text_pl: 'Powiat Schleswig-Flensburg',
language_pl: 'pl',
text_ru: 'Шлезвиг-Фленсбург',
language_ru: 'ru',
},
{
id: 'region.17466',
mapbox_id: 'dXJuOm1ieHBsYzpSRG8',
wikidata: 'Q1194',
short_code: 'DE-SH',
text_en: 'Schleswig-Holstein',
language_en: 'en',
text: 'Schleswig-Holstein',
language: 'en',
text_de: 'Schleswig-Holstein',
language_de: 'de',
text_fr: 'Schleswig-Holstein',
language_fr: 'fr',
text_nl: 'Sleeswijk-Holstein',
language_nl: 'nl',
text_it: 'Schleswig-Holstein',
language_it: 'it',
text_es: 'Schleswig-Holstein',
language_es: 'es',
text_pt: 'Schleswig-Holstein',
language_pt: 'pt',
text_pl: 'Szlezwik-Holsztyn',
language_pl: 'pl',
text_ru: 'Шлезвиг-Гольштейн',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.7517935193989996',
type: 'Feature',
place_type: ['address'],
relevance: 0.958333,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6ZTY0MTBlYTgtNzBhZS00MmViLTk0ZWItNThlM2U4YmUzNDcz',
},
text_en: 'Barlin',
place_name_en: 'Barlin, 17159 Dargun, Germany',
text: 'Barlin',
place_name: 'Barlin, 17159 Dargun, Germany',
text_de: 'Barlin',
place_name_de: 'Barlin, 17159 Dargun, Deutschland',
text_fr: 'Barlin',
place_name_fr: 'Barlin, 17159 Dargun, Allemagne',
text_nl: 'Barlin',
place_name_nl: 'Barlin, 17159 Dargun, Duitsland',
text_it: 'Barlin',
place_name_it: 'Barlin, 17159 Dargun, Germania',
text_es: 'Barlin',
place_name_es: 'Barlin, 17159 Dargun, Alemania',
text_pt: 'Barlin',
place_name_pt: 'Barlin, 17159 Dargun, Alemanha',
text_pl: 'Barlin',
place_name_pl: 'Barlin, 17159 Dargun, Niemcy',
text_ru: 'Barlin',
place_name_ru: 'Barlin, 17159 Даргун, Германия',
center: [12.883232, 53.922631],
geometry: {
type: 'Point',
coordinates: [12.883232, 53.922631],
},
context: [
{
id: 'postcode.8072762',
mapbox_id: 'dXJuOm1ieHBsYzpleTQ2',
text_en: '17159',
text: '17159',
text_de: '17159',
text_fr: '17159',
text_nl: '17159',
text_it: '17159',
text_es: '17159',
text_pt: '17159',
text_pl: '17159',
text_ru: '17159',
},
{
id: 'locality.19302970',
mapbox_id: 'dXJuOm1ieHBsYzpBU2FLT2c',
text_en: 'Barlin',
language_en: 'de',
text: 'Barlin',
language: 'de',
text_de: 'Barlin',
language_de: 'de',
text_fr: 'Barlin',
text_nl: 'Barlin',
text_it: 'Barlin',
text_es: 'Barlin',
text_pt: 'Barlin',
text_pl: 'Barlin',
text_ru: 'Barlin',
},
{
id: 'place.14256186',
mapbox_id: 'dXJuOm1ieHBsYzoyWWc2',
wikidata: 'Q50959',
text_en: 'Dargun',
language_en: 'en',
text: 'Dargun',
language: 'en',
text_de: 'Dargun',
language_de: 'de',
text_fr: 'Dargun',
language_fr: 'fr',
text_nl: 'Dargun',
language_nl: 'nl',
text_it: 'Dargun',
language_it: 'it',
text_es: 'Dargun',
language_es: 'es',
text_pt: 'Dargun',
language_pt: 'pt',
text_pl: 'Dargun',
language_pl: 'pl',
text_ru: 'Даргун',
language_ru: 'ru',
},
{
id: 'district.1214010',
mapbox_id: 'dXJuOm1ieHBsYzpFb1k2',
wikidata: 'Q2902',
text_en: 'Mecklenburgische Seenplatte District',
language_en: 'en',
text: 'Mecklenburgische Seenplatte District',
language: 'en',
text_de: 'Kreis Mecklenburgische Seenplatte',
language_de: 'de',
text_fr: 'Plateau des lacs mecklembourgeois',
language_fr: 'fr',
text_nl: 'Landkreis Mecklenburgische Seenplatte',
language_nl: 'nl',
text_it: 'circondario della Terra dei Laghi del Meclemburgo',
language_it: 'it',
text_es: 'Lagos de Mecklemburgo',
language_es: 'es',
text_pt: 'Lagos de Mecklemburgo',
language_pt: 'es',
text_pl: 'Landkreis Mecklenburgische Seenplatte',
language_pl: 'pl',
text_ru: 'Мекленбург-Зеенплате',
language_ru: 'ru',
},
{
id: 'region.25658',
mapbox_id: 'dXJuOm1ieHBsYzpaRG8',
wikidata: 'Q1196',
short_code: 'DE-MV',
text_en: 'Mecklenburg-Western Pomerania',
language_en: 'en',
text: 'Mecklenburg-Western Pomerania',
language: 'en',
text_de: 'Mecklenburg-Vorpommern',
language_de: 'de',
text_fr: 'Mecklembourg-Poméranie-Occidentale',
language_fr: 'fr',
text_nl: 'Mecklenburg-Voor-Pommeren',
language_nl: 'nl',
text_it: 'Meclemburgo-Pomerania Anteriore',
language_it: 'it',
text_es: 'Mecklemburgo-Pomerania Occidental',
language_es: 'es',
text_pt: 'Mecklemburgo-Pomerânia Ocidental',
language_pt: 'pt',
text_pl: 'Meklemburgia-Pomorze Przednie',
language_pl: 'pl',
text_ru: 'Мекленбург — Передняя Померания',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.4752874377841546',
type: 'Feature',
place_type: ['address'],
relevance: 0.958333,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6ODljMjJmMWItNTUyMy00ODIwLWFiNDYtNjU0YTRiZTc4NzJm',
},
text_en: 'Ferliner Straße',
place_name_en: 'Ferliner Straße, 84332 Hebertsfelden, Germany',
text: 'Ferliner Straße',
place_name: 'Ferliner Straße, 84332 Hebertsfelden, Germany',
text_de: 'Ferliner Straße',
place_name_de: 'Ferliner Straße, 84332 Hebertsfelden, Deutschland',
text_fr: 'Ferliner Straße',
place_name_fr: 'Ferliner Straße, 84332 Hebertsfelden, Allemagne',
text_nl: 'Ferliner Straße',
place_name_nl: 'Ferliner Straße, 84332 Hebertsfelden, Duitsland',
text_it: 'Ferliner Straße',
place_name_it: 'Ferliner Straße, 84332 Hebertsfelden, Germania',
text_es: 'Ferliner Straße',
place_name_es: 'Ferliner Straße, 84332 Hebertsfelden, Alemania',
text_pt: 'Ferliner Straße',
place_name_pt: 'Ferliner Straße, 84332 Hebertsfelden, Alemanha',
text_pl: 'Ferliner Straße',
place_name_pl: 'Ferliner Straße, 84332 Hebertsfelden, Niemcy',
text_ru: 'Ferliner Straße',
place_name_ru: 'Ferliner Straße, 84332 Хебертсфельден, Германия',
center: [12.81704, 48.43586],
geometry: {
type: 'Point',
coordinates: [12.81704, 48.43586],
},
context: [
{
id: 'postcode.51138106',
mapbox_id: 'dXJuOm1ieHBsYzpBd3hPT2c',
text_en: '84332',
text: '84332',
text_de: '84332',
text_fr: '84332',
text_nl: '84332',
text_it: '84332',
text_es: '84332',
text_pt: '84332',
text_pl: '84332',
text_ru: '84332',
},
{
id: 'locality.267905594',
mapbox_id: 'dXJuOm1ieHBsYzpEL2ZxT2c',
text_en: 'Prienbach',
language_en: 'de',
text: 'Prienbach',
language: 'de',
text_de: 'Prienbach',
language_de: 'de',
text_fr: 'Prienbach',
text_nl: 'Prienbach',
text_it: 'Prienbach',
text_es: 'Prienbach',
text_pt: 'Prienbach',
text_pl: 'Prienbach',
text_ru: 'Prienbach',
},
{
id: 'place.31664186',
mapbox_id: 'dXJuOm1ieHBsYzpBZU1vT2c',
wikidata: 'Q553780',
text_en: 'Hebertsfelden',
language_en: 'en',
text: 'Hebertsfelden',
language: 'en',
text_de: 'Hebertsfelden',
language_de: 'de',
text_fr: 'Hebertsfelden',
language_fr: 'fr',
text_nl: 'Hebertsfelden',
language_nl: 'nl',
text_it: 'Hebertsfelden',
language_it: 'it',
text_es: 'Hebertsfelden',
language_es: 'es',
text_pt: 'Hebertsfelden',
language_pt: 'pt',
text_pl: 'Hebertsfelden',
language_pl: 'pl',
text_ru: 'Хебертсфельден',
language_ru: 'ru',
},
{
id: 'district.1795642',
mapbox_id: 'dXJuOm1ieHBsYzpHMlk2',
wikidata: 'Q10477',
text_en: 'arrondissement de Rottal-Inn',
language_en: 'fr',
text: 'arrondissement de Rottal-Inn',
language: 'fr',
text_de: 'Kreis Rottal-Inn',
language_de: 'de',
text_fr: 'arrondissement de Rottal-Inn',
language_fr: 'fr',
text_nl: 'arrondissement de Rottal-Inn',
language_nl: 'fr',
text_it: 'Districtul Rottal-Inn',
language_it: 'ro',
text_es: 'arrondissement de Rottal-Inn',
language_es: 'fr',
text_pt: 'Kreis Rottal-Inn',
text_pl: 'Powiat Rottal-Inn',
language_pl: 'pl',
text_ru: 'Ротталь-Инн',
language_ru: 'ru',
},
{
id: 'region.123962',
mapbox_id: 'dXJuOm1ieHBsYzpBZVE2',
wikidata: 'Q980',
short_code: 'DE-BY',
text_en: 'Bavaria',
language_en: 'en',
text: 'Bavaria',
language: 'en',
text_de: 'Bayern',
language_de: 'de',
text_fr: 'Bavière',
language_fr: 'fr',
text_nl: 'Beieren',
language_nl: 'nl',
text_it: 'Baviera',
language_it: 'it',
text_es: 'Baviera',
language_es: 'es',
text_pt: 'Baviera',
language_pt: 'pt',
text_pl: 'Bawaria',
language_pl: 'pl',
text_ru: 'Бавария',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.7246440478456020',
type: 'Feature',
place_type: ['address'],
relevance: 0.958333,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6MTUyNjZlZjItOTIxZC00OTc0LWIyZmMtOWM2NTQyOWE3MDEx',
},
text_en: 'Erlin',
place_name_en: 'Erlin, 74545 Michelfeld, Germany',
text: 'Erlin',
place_name: 'Erlin, 74545 Michelfeld, Germany',
text_de: 'Erlin',
place_name_de: 'Erlin, 74545 Michelfeld, Deutschland',
text_fr: 'Erlin',
place_name_fr: 'Erlin, 74545 Michelfeld, Allemagne',
text_nl: 'Erlin',
place_name_nl: 'Erlin, 74545 Michelfeld, Duitsland',
text_it: 'Erlin',
place_name_it: 'Erlin, 74545 Michelfeld, Germania',
text_es: 'Erlin',
place_name_es: 'Erlin, 74545 Michelfeld, Alemania',
text_pt: 'Erlin',
place_name_pt: 'Erlin, 74545 Michelfeld, Alemanha',
text_pl: 'Erlin',
place_name_pl: 'Erlin, 74545 Michelfeld, Niemcy',
text_ru: 'Erlin',
place_name_ru: 'Erlin, 74545 Михельфельд, Германия',
center: [9.658099, 49.105636],
geometry: {
type: 'Point',
coordinates: [9.658099, 49.105636],
},
context: [
{
id: 'postcode.43716154',
mapbox_id: 'dXJuOm1ieHBsYzpBcHNPT2c',
text_en: '74545',
text: '74545',
text_de: '74545',
text_fr: '74545',
text_nl: '74545',
text_it: '74545',
text_es: '74545',
text_pt: '74545',
text_pl: '74545',
text_ru: '74545',
},
{
id: 'locality.166046266',
mapbox_id: 'dXJuOm1ieHBsYzpDZVdxT2c',
text_en: 'Kiesberg',
language_en: 'de',
text: 'Kiesberg',
language: 'de',
text_de: 'Kiesberg',
language_de: 'de',
text_fr: 'Kiesberg',
text_nl: 'Kiesberg',
text_it: 'Kiesberg',
text_es: 'Kiesberg',
text_pt: 'Kiesberg',
text_pl: 'Kiesberg',
text_ru: 'Kiesberg',
},
{
id: 'place.50980922',
mapbox_id: 'dXJuOm1ieHBsYzpBd25vT2c',
wikidata: 'Q81048',
text_en: 'Michelfeld',
language_en: 'en',
text: 'Michelfeld',
language: 'en',
text_de: 'Michelfeld',
language_de: 'de',
text_fr: 'Michelfeld',
language_fr: 'fr',
text_nl: 'Michelfeld',
language_nl: 'nl',
text_it: 'Michelfeld',
language_it: 'it',
text_es: 'Michelfeld',
language_es: 'es',
text_pt: 'Michelfeld',
language_pt: 'pt',
text_pl: 'Michelfeld',
language_pl: 'pl',
text_ru: 'Михельфельд',
language_ru: 'ru',
},
{
id: 'district.1902138',
mapbox_id: 'dXJuOm1ieHBsYzpIUVk2',
wikidata: 'Q8520',
text_en: 'Landkreis Schwäbisch Hall',
language_en: 'en',
text: 'Landkreis Schwäbisch Hall',
language: 'en',
text_de: 'Kreis Schwäbisch Hall',
language_de: 'de',
text_fr: 'arrondissement de Schwäbisch Hall',
language_fr: 'fr',
text_nl: 'arrondissement de Schwäbisch Hall',
language_nl: 'fr',
text_it: 'circondario di Schwäbisch Hall',
language_it: 'it',
text_es: 'arrondissement de Schwäbisch Hall',
language_es: 'fr',
text_pt: 'circondario di Schwäbisch Hall',
language_pt: 'it',
text_pl: 'Districtul Schwäbisch Hall',
language_pl: 'ro',
text_ru: 'Швебиш-Халль',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,7 @@
export const empty = {
type: 'FeatureCollection',
query: ['gbhtsd4sdha'],
features: [],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,661 @@
export const hamburg = {
type: 'FeatureCollection',
query: ['hamburg', 'germany'],
features: [
{
id: 'place.9274',
type: 'Feature',
place_type: ['region', 'place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpKRG8',
wikidata: 'Q1055',
short_code: 'DE-HH',
},
text_en: 'Hamburg',
language_en: 'en',
place_name_en: 'Hamburg, Germany',
text: 'Hamburg',
language: 'en',
place_name: 'Hamburg, Germany',
text_de: 'Hamburg',
language_de: 'de',
place_name_de: 'Hamburg, Deutschland',
text_fr: 'Hambourg',
language_fr: 'fr',
place_name_fr: 'Hambourg, Allemagne',
text_nl: 'Hamburg',
language_nl: 'nl',
place_name_nl: 'Hamburg, Duitsland',
text_it: 'Amburgo',
language_it: 'it',
place_name_it: 'Amburgo, Germania',
text_es: 'Hamburgo',
language_es: 'es',
place_name_es: 'Hamburgo, Alemania',
text_pt: 'Hamburgo',
language_pt: 'pt',
place_name_pt: 'Hamburgo, Alemanha',
text_pl: 'Hamburg',
language_pl: 'pl',
place_name_pl: 'Hamburg, Niemcy',
text_ru: 'Гамбург',
language_ru: 'ru',
place_name_ru: 'Гамбург, Германия',
bbox: [8.345049, 53.395085, 10.325247, 54.010088],
center: [10.000654, 53.550341],
geometry: {
type: 'Point',
coordinates: [10.000654, 53.550341],
},
context: [
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.2262168808051568',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6MGM5NzRmMmYtNTA0Yi00MDk1LWJjNGItNTA3NmRhY2Y4YzQ5',
},
text_en: 'Hamburg',
place_name_en: 'Hamburg, 38889 Oberharz am Brocken, Germany',
text: 'Hamburg',
place_name: 'Hamburg, 38889 Oberharz am Brocken, Germany',
text_de: 'Hamburg',
place_name_de: 'Hamburg, 38889 Oberharz am Brocken, Deutschland',
text_fr: 'Hamburg',
place_name_fr: 'Hamburg, 38889 Oberharz am Brocken, Allemagne',
text_nl: 'Hamburg',
place_name_nl: 'Hamburg, 38889 Oberharz am Brocken, Duitsland',
text_it: 'Hamburg',
place_name_it: 'Hamburg, 38889 Oberharz am Brocken, Germania',
text_es: 'Hamburg',
place_name_es: 'Hamburg, 38889 Oberharz am Brocken, Alemania',
text_pt: 'Hamburg',
place_name_pt: 'Hamburg, 38889 Oberharz am Brocken, Alemanha',
text_pl: 'Hamburg',
place_name_pl: 'Hamburg, 38889 Oberharz am Brocken, Niemcy',
text_ru: 'Hamburg',
place_name_ru: 'Hamburg, 38889 Оберхарц-ам-Броккен, Германия',
center: [10.872935, 51.752737],
geometry: {
type: 'Point',
coordinates: [10.872935, 51.752737],
},
context: [
{
id: 'postcode.23424570',
mapbox_id: 'dXJuOm1ieHBsYzpBV1Z1T2c',
text_en: '38889',
text: '38889',
text_de: '38889',
text_fr: '38889',
text_nl: '38889',
text_it: '38889',
text_es: '38889',
text_pt: '38889',
text_pl: '38889',
text_ru: '38889',
},
{
id: 'locality.232909370',
mapbox_id: 'dXJuOm1ieHBsYzpEZUhxT2c',
wikidata: 'Q1982027',
text_en: 'Neuwerk',
language_en: 'en',
text: 'Neuwerk',
language: 'en',
text_de: 'Neuwerk',
language_de: 'de',
text_fr: 'Neuwerk',
language_fr: 'fr',
text_nl: 'Neuwerk',
language_nl: 'nl',
text_it: 'Neuwerk',
language_it: 'it',
text_es: 'Neuwerk',
language_es: 'es',
text_pt: 'Neuwerk',
language_pt: 'pt',
text_pl: 'Neuwerk',
language_pl: 'pl',
text_ru: 'Neuwerk',
},
{
id: 'place.57780282',
mapbox_id: 'dXJuOm1ieHBsYzpBM0dvT2c',
wikidata: 'Q703001',
text_en: 'Oberharz am Brocken',
language_en: 'en',
text: 'Oberharz am Brocken',
language: 'en',
text_de: 'Oberharz am Brocken',
language_de: 'de',
text_fr: 'Oberharz am Brocken',
language_fr: 'fr',
text_nl: 'Oberharz am Brocken',
language_nl: 'nl',
text_it: 'Oberharz am Brocken',
language_it: 'it',
text_es: 'Oberharz am Brocken',
language_es: 'es',
text_pt: 'Oberharz am Brocken',
language_pt: 'pt',
text_pl: 'Oberharz am Brocken',
language_pl: 'pl',
text_ru: 'Оберхарц-ам-Броккен',
language_ru: 'ru',
},
{
id: 'district.755258',
mapbox_id: 'dXJuOm1ieHBsYzpDNFk2',
wikidata: 'Q6087',
text_en: 'Harz District',
language_en: 'en',
text: 'Harz District',
language: 'en',
text_de: 'Kreis Harz',
language_de: 'de',
text_fr: 'Arrondissement de Harz',
language_fr: 'fr',
text_nl: 'Landkreis Harz',
language_nl: 'nl',
text_it: 'circondario dello Harz',
language_it: 'it',
text_es: 'Distrito de Harz',
language_es: 'es',
text_pt: 'Distrito de Harz',
language_pt: 'es',
text_pl: 'Landkreis Harz',
language_pl: 'pl',
text_ru: 'Гарц',
language_ru: 'ru',
},
{
id: 'region.91194',
mapbox_id: 'dXJuOm1ieHBsYzpBV1E2',
wikidata: 'Q1206',
short_code: 'DE-ST',
text_en: 'Saxony-Anhalt',
language_en: 'en',
text: 'Saxony-Anhalt',
language: 'en',
text_de: 'Sachsen-Anhalt',
language_de: 'de',
text_fr: 'Saxe-Anhalt',
language_fr: 'fr',
text_nl: 'Saksen-Anhalt',
language_nl: 'nl',
text_it: 'Sassonia-Anhalt',
language_it: 'it',
text_es: 'Sajonia-Anhalt',
language_es: 'es',
text_pt: 'Saxónia-Anhalt',
language_pt: 'pt',
text_pl: 'Saksonia-Anhalt',
language_pl: 'pl',
text_ru: 'Саксония-Анхальт',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.8952604554248206',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6NGNmMGExNGUtMjExMy00Yzk1LTllYjQtYTllOTRmNDIxZmEz',
},
text_en: 'Hamburg',
place_name_en: 'Hamburg, 54608 Bleialf, Germany',
text: 'Hamburg',
place_name: 'Hamburg, 54608 Bleialf, Germany',
text_de: 'Hamburg',
place_name_de: 'Hamburg, 54608 Bleialf, Deutschland',
text_fr: 'Hamburg',
place_name_fr: 'Hamburg, 54608 Bleialf, Allemagne',
text_nl: 'Hamburg',
place_name_nl: 'Hamburg, 54608 Bleialf, Duitsland',
text_it: 'Hamburg',
place_name_it: 'Hamburg, 54608 Bleialf, Germania',
text_es: 'Hamburg',
place_name_es: 'Hamburg, 54608 Bleialf, Alemania',
text_pt: 'Hamburg',
place_name_pt: 'Hamburg, 54608 Bleialf, Alemanha',
text_pl: 'Hamburg',
place_name_pl: 'Hamburg, 54608 Bleialf, Niemcy',
text_ru: 'Hamburg',
place_name_ru: 'Hamburg, 54608 Блайальф, Германия',
center: [6.286919, 50.231471],
geometry: {
type: 'Point',
coordinates: [6.286919, 50.231471],
},
context: [
{
id: 'postcode.30887482',
mapbox_id: 'dXJuOm1ieHBsYzpBZGRPT2c',
text_en: '54608',
text: '54608',
text_de: '54608',
text_fr: '54608',
text_nl: '54608',
text_it: '54608',
text_es: '54608',
text_pt: '54608',
text_pl: '54608',
text_ru: '54608',
},
{
id: 'place.8742970',
mapbox_id: 'dXJuOm1ieHBsYzpoV2c2',
wikidata: 'Q553361',
text_en: 'Bleialf',
language_en: 'en',
text: 'Bleialf',
language: 'en',
text_de: 'Bleialf',
language_de: 'de',
text_fr: 'Bleialf',
language_fr: 'fr',
text_nl: 'Bleialf',
language_nl: 'nl',
text_it: 'Bleialf',
language_it: 'it',
text_es: 'Bleialf',
language_es: 'es',
text_pt: 'Bleialf',
language_pt: 'pt',
text_pl: 'Bleialf',
language_pl: 'pl',
text_ru: 'Блайальф',
language_ru: 'ru',
},
{
id: 'district.2434618',
mapbox_id: 'dXJuOm1ieHBsYzpKU1k2',
wikidata: 'Q8580',
text_en: 'Eifelkreis Bitburg-Prüm',
language_en: 'en',
text: 'Eifelkreis Bitburg-Prüm',
language: 'en',
text_de: 'Eifelkreis Bitburg-Prüm',
language_de: 'de',
text_fr: 'Eifel-Bitburg-Prüm',
language_fr: 'fr',
text_nl: 'Eifelkreis Bitburg-Prüm',
language_nl: 'nl',
text_it: 'Eifelkreis Bitburg-Prüm',
language_it: 'it',
text_es: 'Eifel-Bitburg-Prüm',
language_es: 'es',
text_pt: 'Bitburg-Prüm',
language_pt: 'pt',
text_pl: 'Eifelkreis Bitburg-Prüm',
language_pl: 'pl',
text_ru: 'Айфель-Битбург-Прюм',
language_ru: 'ru',
},
{
id: 'region.58426',
mapbox_id: 'dXJuOm1ieHBsYzo1RG8',
wikidata: 'Q1200',
short_code: 'DE-RP',
text_en: 'Rhineland-Palatinate',
language_en: 'en',
text: 'Rhineland-Palatinate',
language: 'en',
text_de: 'Rheinland-Pfalz',
language_de: 'de',
text_fr: 'Rhénanie-Palatinat',
language_fr: 'fr',
text_nl: 'Rijnland-Palts',
language_nl: 'nl',
text_it: 'Renania-Palatinato',
language_it: 'it',
text_es: 'Renania-Palatinado',
language_es: 'es',
text_pt: 'Renânia-Palatinado',
language_pt: 'pt',
text_pl: 'Nadrenia-Palatynat',
language_pl: 'pl',
text_ru: 'Рейнланд-Пфальц',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'place.35727418',
type: 'Feature',
place_type: ['place'],
relevance: 0.964286,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBaUVvT2c',
wikidata: 'Q7040',
},
text_en: 'Homburg',
language_en: 'en',
place_name_en: 'Homburg, Saarpfalz-Kreis, Saarland, Germany',
text: 'Homburg',
language: 'en',
place_name: 'Homburg, Saarpfalz-Kreis, Saarland, Germany',
text_de: 'Homburg',
language_de: 'de',
place_name_de: 'Homburg, Saarpfalz-Kreis, Saarland, Deutschland',
text_fr: 'Hombourg',
language_fr: 'fr',
place_name_fr: 'Hombourg, circondario del Saarpfalz, Sarre, Allemagne',
text_nl: 'Homburg',
language_nl: 'nl',
place_name_nl: 'Homburg, Saarpfalz-Kreis, Saarland, Duitsland',
text_it: 'Homburg',
language_it: 'it',
place_name_it: 'Homburg, circondario del Saarpfalz, Saarland, Germania',
text_es: 'Homburg',
language_es: 'es',
place_name_es: 'Homburg, Saarpfalz-Kreis, Sarre, Alemania',
text_pt: 'Homburg',
language_pt: 'pt',
place_name_pt: 'Homburg, circondario del Saarpfalz, Sarre, Alemanha',
text_pl: 'Homburg',
language_pl: 'pl',
place_name_pl: 'Homburg, Powiat Saarpfalz, Saara, Niemcy',
text_ru: 'Хомбург',
language_ru: 'ru',
place_name_ru: 'Хомбург, Саарпфальц, Саар, Германия',
bbox: [7.274109, 49.247602, 7.404584, 49.386381],
center: [7.340504, 49.321426],
geometry: {
type: 'Point',
coordinates: [7.340504, 49.321426],
},
context: [
{
id: 'district.2704954',
mapbox_id: 'dXJuOm1ieHBsYzpLVVk2',
wikidata: 'Q6793',
text_en: 'Saarpfalz-Kreis',
language_en: 'de',
text: 'Saarpfalz-Kreis',
language: 'de',
text_de: 'Saarpfalz-Kreis',
language_de: 'de',
text_fr: 'circondario del Saarpfalz',
language_fr: 'it',
text_nl: 'Saarpfalz-Kreis',
text_it: 'circondario del Saarpfalz',
language_it: 'it',
text_es: 'Saarpfalz-Kreis',
text_pt: 'circondario del Saarpfalz',
language_pt: 'it',
text_pl: 'Powiat Saarpfalz',
language_pl: 'pl',
text_ru: 'Саарпфальц',
language_ru: 'ru',
},
{
id: 'region.66618',
mapbox_id: 'dXJuOm1ieHBsYzpBUVE2',
wikidata: 'Q1201',
short_code: 'DE-SL',
text_en: 'Saarland',
language_en: 'en',
text: 'Saarland',
language: 'en',
text_de: 'Saarland',
language_de: 'de',
text_fr: 'Sarre',
language_fr: 'fr',
text_nl: 'Saarland',
language_nl: 'nl',
text_it: 'Saarland',
language_it: 'it',
text_es: 'Sarre',
language_es: 'es',
text_pt: 'Sarre',
language_pt: 'pt',
text_pl: 'Saara',
language_pl: 'pl',
text_ru: 'Саар',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'place.30623802',
type: 'Feature',
place_type: ['place'],
relevance: 0.964286,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBZE5JT2c',
wikidata: 'Q503226',
},
text_en: 'Harburg',
language_en: 'en',
place_name_en: 'Harburg, arrondissement de Danube-Ries, Bavaria, Germany',
text: 'Harburg',
language: 'en',
place_name: 'Harburg, arrondissement de Danube-Ries, Bavaria, Germany',
text_de: 'Harburg',
language_de: 'de',
place_name_de: 'Harburg, Kreis Donau-Ries, Bayern, Deutschland',
text_fr: 'Harbourg',
language_fr: 'fr',
place_name_fr: 'Harbourg, arrondissement de Danube-Ries, Bavière, Allemagne',
text_nl: 'Harburg',
language_nl: 'nl',
place_name_nl: 'Harburg, arrondissement de Danube-Ries, Beieren, Duitsland',
text_it: 'Harburg',
language_it: 'it',
place_name_it: 'Harburg, Circondario del Danubio-Ries, Baviera, Germania',
text_es: 'Harburg',
language_es: 'es',
place_name_es: 'Harburg, arrondissement de Danube-Ries, Baviera, Alemania',
text_pt: 'Harburg',
language_pt: 'pt',
place_name_pt: 'Harburg, Circondario del Danubio-Ries, Baviera, Alemanha',
text_pl: 'Harburg',
language_pl: 'pl',
place_name_pl: 'Harburg, Landkreis Donau-Ries, Bawaria, Niemcy',
text_ru: 'Харбург',
language_ru: 'ru',
place_name_ru: 'Харбург, Донау-Рис, Бавария, Германия',
bbox: [10.617754, 48.726549, 10.770464, 48.83036],
center: [10.688789, 48.787212],
geometry: {
type: 'Point',
coordinates: [10.688789, 48.787212],
},
context: [
{
id: 'district.419386',
mapbox_id: 'dXJuOm1ieHBsYzpCbVk2',
wikidata: 'Q10418',
text_en: 'arrondissement de Danube-Ries',
language_en: 'fr',
text: 'arrondissement de Danube-Ries',
language: 'fr',
text_de: 'Kreis Donau-Ries',
language_de: 'de',
text_fr: 'arrondissement de Danube-Ries',
language_fr: 'fr',
text_nl: 'arrondissement de Danube-Ries',
language_nl: 'fr',
text_it: 'Circondario del Danubio-Ries',
language_it: 'it',
text_es: 'arrondissement de Danube-Ries',
language_es: 'fr',
text_pt: 'Circondario del Danubio-Ries',
language_pt: 'it',
text_pl: 'Landkreis Donau-Ries',
language_pl: 'pl',
text_ru: 'Донау-Рис',
language_ru: 'ru',
},
{
id: 'region.123962',
mapbox_id: 'dXJuOm1ieHBsYzpBZVE2',
wikidata: 'Q980',
short_code: 'DE-BY',
text_en: 'Bavaria',
language_en: 'en',
text: 'Bavaria',
language: 'en',
text_de: 'Bayern',
language_de: 'de',
text_fr: 'Bavière',
language_fr: 'fr',
text_nl: 'Beieren',
language_nl: 'nl',
text_it: 'Baviera',
language_it: 'it',
text_es: 'Baviera',
language_es: 'es',
text_pt: 'Baviera',
language_pt: 'pt',
text_pl: 'Bawaria',
language_pl: 'pl',
text_ru: 'Бавария',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,813 @@
export const hamburgNY = {
type: 'FeatureCollection',
query: ['hamburg', 'new', 'jersey'],
features: [
{
id: 'place.138242284',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpDRDFvN0E',
wikidata: 'Q1082931',
},
text_en: 'Hamburg',
language_en: 'en',
place_name_en: 'Hamburg, New Jersey, United States',
text: 'Hamburg',
language: 'en',
place_name: 'Hamburg, New Jersey, United States',
text_de: 'Hamburg',
language_de: 'de',
place_name_de: 'Hamburg, New Jersey, Vereinigte Staaten',
text_fr: 'Hamburg',
language_fr: 'fr',
place_name_fr: 'Hamburg, New Jersey, États-Unis',
text_nl: 'Hamburg',
language_nl: 'nl',
place_name_nl: 'Hamburg, New Jersey, Verenigde Staten van Amerika',
text_it: 'Hamburg',
language_it: 'it',
place_name_it: "Hamburg, New Jersey, Stati Uniti d'America",
text_es: 'Hamburg',
language_es: 'es',
place_name_es: 'Hamburg, Nueva Jersey, Estados Unidos',
text_pt: 'Hamburg',
language_pt: 'pt',
place_name_pt: 'Hamburg, Nova Jérsia, Estados Unidos',
text_pl: 'Hamburg',
language_pl: 'nl',
place_name_pl: 'Hamburg, New Jersey, Stany Zjednoczone',
text_ru: 'Хамбург',
language_ru: 'kk',
place_name_ru: 'Хамбург, Нью-Джерси, США',
bbox: [-74.632296, 41.101134, -74.510997, 41.194008],
center: [-74.576227, 41.153431],
geometry: {
type: 'Point',
coordinates: [-74.576227, 41.153431],
},
context: [
{
id: 'district.22456044',
mapbox_id: 'dXJuOm1ieHBsYzpBVmFtN0E',
wikidata: 'Q495998',
text_en: 'Sussex County',
language_en: 'en',
text: 'Sussex County',
language: 'en',
text_de: 'Sussex County',
language_de: 'de',
text_fr: 'comté de Sussex',
language_fr: 'fr',
text_nl: 'Sussex County',
language_nl: 'nl',
text_it: 'contea di Sussex',
language_it: 'it',
text_es: 'Condado de Sussex',
language_es: 'es',
text_pt: 'Condado de Sussex',
language_pt: 'pt',
text_pl: 'Hrabstwo Sussex',
language_pl: 'pl',
text_ru: 'Сассекс',
language_ru: 'ru',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_en: 'New Jersey',
language_en: 'en',
text: 'New Jersey',
language: 'en',
text_de: 'New Jersey',
language_de: 'de',
text_fr: 'New Jersey',
language_fr: 'fr',
text_nl: 'New Jersey',
language_nl: 'nl',
text_it: 'New Jersey',
language_it: 'it',
text_es: 'Nueva Jersey',
language_es: 'es',
text_pt: 'Nova Jérsia',
language_pt: 'pt',
text_pl: 'New Jersey',
language_pl: 'pl',
text_ru: 'Нью-Джерси',
language_ru: 'ru',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text_fr: 'États-Unis',
language_fr: 'fr',
text_nl: 'Verenigde Staten van Amerika',
language_nl: 'nl',
text_it: "Stati Uniti d'America",
language_it: 'it',
text_es: 'Estados Unidos',
language_es: 'es',
text_pt: 'Estados Unidos',
language_pt: 'pt',
text_pl: 'Stany Zjednoczone',
language_pl: 'pl',
text_ru: 'США',
language_ru: 'ru',
},
],
},
{
id: 'address.4892302912777302',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
'override:postcode': '',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6YTVmNjA1ZDItOGJhYS00MWRlLWE0MmUtYzYzYThjY2JlYzE2',
},
text_en: 'Hamburg Turnpike',
place_name_en: 'Hamburg Turnpike, Stockholm, New Jersey 07460, United States',
text: 'Hamburg Turnpike',
place_name: 'Hamburg Turnpike, Stockholm, New Jersey 07460, United States',
text_de: 'Hamburg Turnpike',
place_name_de: 'Hamburg Turnpike, Stockholm, New Jersey 07460, Vereinigte Staaten',
text_fr: 'Hamburg Turnpike',
place_name_fr: 'Hamburg Turnpike, Stockholm, New Jersey 07460, États-Unis',
text_nl: 'Hamburg Turnpike',
place_name_nl: 'Hamburg Turnpike, Stockholm, New Jersey 07460, Verenigde Staten van Amerika',
text_it: 'Hamburg Turnpike',
place_name_it: "Hamburg Turnpike, Stockholm, New Jersey 07460, Stati Uniti d'America",
text_es: 'Hamburg Turnpike',
place_name_es: 'Hamburg Turnpike, Stockholm, Nueva Jersey 07460, Estados Unidos',
text_pt: 'Hamburg Turnpike',
place_name_pt: 'Hamburg Turnpike, Stockholm, Nova Jérsia 07460, Estados Unidos',
text_pl: 'Hamburg Turnpike',
place_name_pl: 'Hamburg Turnpike, Stockholm, New Jersey 07460, Stany Zjednoczone',
text_ru: 'Hamburg Turnpike',
place_name_ru: 'Hamburg Turnpike, Stockholm, Нью-Джерси 07460, США',
center: [-74.52295, 41.11971],
geometry: {
type: 'Point',
coordinates: [-74.52295, 41.11971],
},
context: [
{
id: 'postcode.20008684',
mapbox_id: 'dXJuOm1ieHBsYzpBVEZPN0E',
text_en: '07460',
text: '07460',
text_de: '07460',
text_fr: '07460',
text_nl: '07460',
text_it: '07460',
text_es: '07460',
text_pt: '07460',
text_pl: '07460',
text_ru: '07460',
},
{
id: 'locality.237284076',
mapbox_id: 'dXJuOm1ieHBsYzpEaVNxN0E',
text_en: 'Hardyston Township',
language_en: 'en',
text: 'Hardyston Township',
language: 'en',
text_de: 'Hardyston Township',
language_de: 'en',
text_fr: 'Hardyston Township',
language_fr: 'en',
text_nl: 'Hardyston Township',
language_nl: 'en',
text_it: 'Hardyston Township',
language_it: 'en',
text_es: 'Hardyston Township',
language_es: 'en',
text_pt: 'Hardyston Township',
text_pl: 'Hardyston Township',
language_pl: 'en',
text_ru: 'Hardyston Township',
},
{
id: 'place.315435244',
mapbox_id: 'dXJuOm1ieHBsYzpFczBvN0E',
wikidata: 'Q7617988',
text_en: 'Stockholm',
language_en: 'en',
text: 'Stockholm',
language: 'en',
text_de: 'Stockholm',
language_de: 'en',
text_fr: 'Stockholm',
language_fr: 'fr',
text_nl: 'Stockholm',
language_nl: 'fr',
text_it: 'Stockholm',
language_it: 'fr',
text_es: 'Stockholm',
language_es: 'fr',
text_pt: 'Stockholm',
text_pl: 'Stockholm',
language_pl: 'en',
text_ru: 'Stockholm',
},
{
id: 'district.22456044',
mapbox_id: 'dXJuOm1ieHBsYzpBVmFtN0E',
wikidata: 'Q495998',
text_en: 'Sussex County',
language_en: 'en',
text: 'Sussex County',
language: 'en',
text_de: 'Sussex County',
language_de: 'de',
text_fr: 'comté de Sussex',
language_fr: 'fr',
text_nl: 'Sussex County',
language_nl: 'nl',
text_it: 'contea di Sussex',
language_it: 'it',
text_es: 'Condado de Sussex',
language_es: 'es',
text_pt: 'Condado de Sussex',
language_pt: 'pt',
text_pl: 'Hrabstwo Sussex',
language_pl: 'pl',
text_ru: 'Сассекс',
language_ru: 'ru',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_en: 'New Jersey',
language_en: 'en',
text: 'New Jersey',
language: 'en',
text_de: 'New Jersey',
language_de: 'de',
text_fr: 'New Jersey',
language_fr: 'fr',
text_nl: 'New Jersey',
language_nl: 'nl',
text_it: 'New Jersey',
language_it: 'it',
text_es: 'Nueva Jersey',
language_es: 'es',
text_pt: 'Nova Jérsia',
language_pt: 'pt',
text_pl: 'New Jersey',
language_pl: 'pl',
text_ru: 'Нью-Джерси',
language_ru: 'ru',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text_fr: 'États-Unis',
language_fr: 'fr',
text_nl: 'Verenigde Staten van Amerika',
language_nl: 'nl',
text_it: "Stati Uniti d'America",
language_it: 'it',
text_es: 'Estados Unidos',
language_es: 'es',
text_pt: 'Estados Unidos',
language_pt: 'pt',
text_pl: 'Stany Zjednoczone',
language_pl: 'pl',
text_ru: 'США',
language_ru: 'ru',
},
],
},
{
id: 'address.5578007523305814',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6YTY5NzVmZjAtMWI1MC00ZTZlLTlkNTctZTIzYWQ3N2Y5NGU5',
},
text_en: 'Hamburg Pike',
place_name_en: 'Hamburg Pike, Hamburg, New Jersey 07419, United States',
text: 'Hamburg Pike',
place_name: 'Hamburg Pike, Hamburg, New Jersey 07419, United States',
text_de: 'Hamburg Pike',
place_name_de: 'Hamburg Pike, Hamburg, New Jersey 07419, Vereinigte Staaten',
text_fr: 'Hamburg Pike',
place_name_fr: 'Hamburg Pike, Hamburg, New Jersey 07419, États-Unis',
text_nl: 'Hamburg Pike',
place_name_nl: 'Hamburg Pike, Hamburg, New Jersey 07419, Verenigde Staten van Amerika',
text_it: 'Hamburg Pike',
place_name_it: "Hamburg Pike, Hamburg, New Jersey 07419, Stati Uniti d'America",
text_es: 'Hamburg Pike',
place_name_es: 'Hamburg Pike, Hamburg, Nueva Jersey 07419, Estados Unidos',
text_pt: 'Hamburg Pike',
place_name_pt: 'Hamburg Pike, Hamburg, Nova Jérsia 07419, Estados Unidos',
text_pl: 'Hamburg Pike',
place_name_pl: 'Hamburg Pike, Hamburg, New Jersey 07419, Stany Zjednoczone',
text_ru: 'Hamburg Pike',
place_name_ru: 'Hamburg Pike, Хамбург, Нью-Джерси 07419, США',
center: [-74.541928, 41.125463],
geometry: {
type: 'Point',
coordinates: [-74.541928, 41.125463],
},
context: [
{
id: 'postcode.19820268',
mapbox_id: 'dXJuOm1ieHBsYzpBUzV1N0E',
text_en: '07419',
text: '07419',
text_de: '07419',
text_fr: '07419',
text_nl: '07419',
text_it: '07419',
text_es: '07419',
text_pt: '07419',
text_pl: '07419',
text_ru: '07419',
},
{
id: 'locality.237284076',
mapbox_id: 'dXJuOm1ieHBsYzpEaVNxN0E',
text_en: 'Hardyston Township',
language_en: 'en',
text: 'Hardyston Township',
language: 'en',
text_de: 'Hardyston Township',
language_de: 'en',
text_fr: 'Hardyston Township',
language_fr: 'en',
text_nl: 'Hardyston Township',
language_nl: 'en',
text_it: 'Hardyston Township',
language_it: 'en',
text_es: 'Hardyston Township',
language_es: 'en',
text_pt: 'Hardyston Township',
text_pl: 'Hardyston Township',
language_pl: 'en',
text_ru: 'Hardyston Township',
},
{
id: 'place.138242284',
mapbox_id: 'dXJuOm1ieHBsYzpDRDFvN0E',
wikidata: 'Q1082931',
text_en: 'Hamburg',
language_en: 'en',
text: 'Hamburg',
language: 'en',
text_de: 'Hamburg',
language_de: 'de',
text_fr: 'Hamburg',
language_fr: 'fr',
text_nl: 'Hamburg',
language_nl: 'nl',
text_it: 'Hamburg',
language_it: 'it',
text_es: 'Hamburg',
language_es: 'es',
text_pt: 'Hamburg',
language_pt: 'pt',
text_pl: 'Hamburg',
language_pl: 'nl',
text_ru: 'Хамбург',
language_ru: 'kk',
},
{
id: 'district.22456044',
mapbox_id: 'dXJuOm1ieHBsYzpBVmFtN0E',
wikidata: 'Q495998',
text_en: 'Sussex County',
language_en: 'en',
text: 'Sussex County',
language: 'en',
text_de: 'Sussex County',
language_de: 'de',
text_fr: 'comté de Sussex',
language_fr: 'fr',
text_nl: 'Sussex County',
language_nl: 'nl',
text_it: 'contea di Sussex',
language_it: 'it',
text_es: 'Condado de Sussex',
language_es: 'es',
text_pt: 'Condado de Sussex',
language_pt: 'pt',
text_pl: 'Hrabstwo Sussex',
language_pl: 'pl',
text_ru: 'Сассекс',
language_ru: 'ru',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_en: 'New Jersey',
language_en: 'en',
text: 'New Jersey',
language: 'en',
text_de: 'New Jersey',
language_de: 'de',
text_fr: 'New Jersey',
language_fr: 'fr',
text_nl: 'New Jersey',
language_nl: 'nl',
text_it: 'New Jersey',
language_it: 'it',
text_es: 'Nueva Jersey',
language_es: 'es',
text_pt: 'Nova Jérsia',
language_pt: 'pt',
text_pl: 'New Jersey',
language_pl: 'pl',
text_ru: 'Нью-Джерси',
language_ru: 'ru',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text_fr: 'États-Unis',
language_fr: 'fr',
text_nl: 'Verenigde Staten van Amerika',
language_nl: 'nl',
text_it: "Stati Uniti d'America",
language_it: 'it',
text_es: 'Estados Unidos',
language_es: 'es',
text_pt: 'Estados Unidos',
language_pt: 'pt',
text_pl: 'Stany Zjednoczone',
language_pl: 'pl',
text_ru: 'США',
language_ru: 'ru',
},
],
},
{
id: 'address.4994460186306076',
type: 'Feature',
place_type: ['address'],
relevance: 0.914815,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6MzIyNTIzODItMTM4My00YjAyLThiNTUtOTAwMGFiMDNiYmQy',
},
text_en: 'Hamburg Road',
place_name_en: 'Hamburg Road, Parsippany, New Jersey 07054, United States',
text: 'Hamburg Road',
place_name: 'Hamburg Road, Parsippany, New Jersey 07054, United States',
text_de: 'Hamburg Road',
place_name_de:
'Hamburg Road, Parsippany-Troy Hills Township, New Jersey 07054, Vereinigte Staaten',
text_fr: 'Hamburg Road',
place_name_fr: 'Hamburg Road, Parsippany-Troy Hills, New Jersey 07054, États-Unis',
text_nl: 'Hamburg Road',
place_name_nl:
'Hamburg Road, Parsippany-Troy Hills, New Jersey 07054, Verenigde Staten van Amerika',
text_it: 'Hamburg Road',
place_name_it: "Hamburg Road, Parsippany-Troy Hills, New Jersey 07054, Stati Uniti d'America",
text_es: 'Hamburg Road',
place_name_es: 'Hamburg Road, Parsippany-Troy Hills, Nueva Jersey 07054, Estados Unidos',
text_pt: 'Hamburg Road',
place_name_pt: 'Hamburg Road, Parsippany-Troy Hills, Nova Jérsia 07054, Estados Unidos',
text_pl: 'Hamburg Road',
place_name_pl: 'Hamburg Road, Parsippany-Troy Hills, New Jersey 07054, Stany Zjednoczone',
text_ru: 'Hamburg Road',
place_name_ru: 'Hamburg Road, Парсиппани-Трой-Хилс, Нью-Джерси 07054, США',
center: [-74.436622, 40.859052],
geometry: {
type: 'Point',
coordinates: [-74.436622, 40.859052],
},
context: [
{
id: 'postcode.19074796',
mapbox_id: 'dXJuOm1ieHBsYzpBU01PN0E',
text_en: '07054',
text: '07054',
text_de: '07054',
text_fr: '07054',
text_nl: '07054',
text_it: '07054',
text_es: '07054',
text_pt: '07054',
text_pl: '07054',
text_ru: '07054',
},
{
id: 'place.252618988',
mapbox_id: 'dXJuOm1ieHBsYzpEdzZvN0E',
wikidata: 'Q532344',
text_en: 'Parsippany',
language_en: 'en',
text: 'Parsippany',
language: 'en',
text_de: 'Parsippany-Troy Hills Township',
language_de: 'de',
text_fr: 'Parsippany-Troy Hills',
language_fr: 'fr',
text_nl: 'Parsippany-Troy Hills',
language_nl: 'nl',
text_it: 'Parsippany-Troy Hills',
language_it: 'it',
text_es: 'Parsippany-Troy Hills',
language_es: 'es',
text_pt: 'Parsippany-Troy Hills',
language_pt: 'es',
text_pl: 'Parsippany-Troy Hills',
language_pl: 'nl',
text_ru: 'Парсиппани-Трой-Хилс',
language_ru: 'ru',
},
{
id: 'district.16525036',
mapbox_id: 'dXJuOm1ieHBsYzovQ2Jz',
wikidata: 'Q498163',
text_en: 'Morris County',
language_en: 'en',
text: 'Morris County',
language: 'en',
text_de: 'Morris County',
language_de: 'de',
text_fr: 'comté de Morris',
language_fr: 'fr',
text_nl: 'Morris County',
language_nl: 'nl',
text_it: 'contea di Morris',
language_it: 'it',
text_es: 'Condado de Morris',
language_es: 'es',
text_pt: 'Condado de Morris',
language_pt: 'pt',
text_pl: 'Hrabstwo Morris',
language_pl: 'pl',
text_ru: 'Моррис',
language_ru: 'ru',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_en: 'New Jersey',
language_en: 'en',
text: 'New Jersey',
language: 'en',
text_de: 'New Jersey',
language_de: 'de',
text_fr: 'New Jersey',
language_fr: 'fr',
text_nl: 'New Jersey',
language_nl: 'nl',
text_it: 'New Jersey',
language_it: 'it',
text_es: 'Nueva Jersey',
language_es: 'es',
text_pt: 'Nova Jérsia',
language_pt: 'pt',
text_pl: 'New Jersey',
language_pl: 'pl',
text_ru: 'Нью-Джерси',
language_ru: 'ru',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text_fr: 'États-Unis',
language_fr: 'fr',
text_nl: 'Verenigde Staten van Amerika',
language_nl: 'nl',
text_it: "Stati Uniti d'America",
language_it: 'it',
text_es: 'Estados Unidos',
language_es: 'es',
text_pt: 'Estados Unidos',
language_pt: 'pt',
text_pl: 'Stany Zjednoczone',
language_pl: 'pl',
text_ru: 'США',
language_ru: 'ru',
},
],
},
{
id: 'address.7206046822993882',
type: 'Feature',
place_type: ['address'],
relevance: 0.914815,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6OGNiMjYzOWMtZDAxYS00OWY3LThmNTEtZTllMmJjMDY4MWU2',
},
text_en: 'Hamburg Avenue',
place_name_en: 'Hamburg Avenue, Egg Harbor City, New Jersey 08215, United States',
text: 'Hamburg Avenue',
place_name: 'Hamburg Avenue, Egg Harbor City, New Jersey 08215, United States',
text_de: 'Hamburg Avenue',
place_name_de: 'Hamburg Avenue, Egg Harbor City, New Jersey 08215, Vereinigte Staaten',
text_fr: 'Hamburg Avenue',
place_name_fr: 'Hamburg Avenue, Egg Harbor City, New Jersey 08215, États-Unis',
text_nl: 'Hamburg Avenue',
place_name_nl:
'Hamburg Avenue, Egg Harbor City, New Jersey 08215, Verenigde Staten van Amerika',
text_it: 'Hamburg Avenue',
place_name_it: "Hamburg Avenue, Egg Harbor City, New Jersey 08215, Stati Uniti d'America",
text_es: 'Hamburg Avenue',
place_name_es: 'Hamburg Avenue, Egg Harbor City, Nueva Jersey 08215, Estados Unidos',
text_pt: 'Hamburg Avenue',
place_name_pt: 'Hamburg Avenue, Egg Harbor City, Nova Jérsia 08215, Estados Unidos',
text_pl: 'Hamburg Avenue',
place_name_pl: 'Hamburg Avenue, Egg Harbor City, New Jersey 08215, Stany Zjednoczone',
text_ru: 'Hamburg Avenue',
place_name_ru: 'Hamburg Avenue, Эгг Харбор Сити, Нью-Джерси 08215, США',
center: [-74.634456, 39.551661],
geometry: {
type: 'Point',
coordinates: [-74.634456, 39.551661],
},
context: [
{
id: 'postcode.22638316',
mapbox_id: 'dXJuOm1ieHBsYzpBVmx1N0E',
text_en: '08215',
text: '08215',
text_de: '08215',
text_fr: '08215',
text_nl: '08215',
text_it: '08215',
text_es: '08215',
text_pt: '08215',
text_pl: '08215',
text_ru: '08215',
},
{
id: 'locality.378645228',
mapbox_id: 'dXJuOm1ieHBsYzpGcEdxN0E',
text_en: 'Mullica Township',
language_en: 'en',
text: 'Mullica Township',
language: 'en',
text_de: 'Mullica Township',
language_de: 'en',
text_fr: 'Mullica Township',
language_fr: 'en',
text_nl: 'Mullica Township',
language_nl: 'en',
text_it: 'Mullica Township',
language_it: 'en',
text_es: 'Mullica Township',
language_es: 'en',
text_pt: 'Mullica Township',
text_pl: 'Mullica Township',
language_pl: 'en',
text_ru: 'Mullica Township',
},
{
id: 'place.97724652',
mapbox_id: 'dXJuOm1ieHBsYzpCZE1vN0E',
wikidata: 'Q1082961',
text_en: 'Egg Harbor City',
language_en: 'en',
text: 'Egg Harbor City',
language: 'en',
text_de: 'Egg Harbor City',
language_de: 'de',
text_fr: 'Egg Harbor City',
language_fr: 'fr',
text_nl: 'Egg Harbor City',
language_nl: 'nl',
text_it: 'Egg Harbor City',
language_it: 'it',
text_es: 'Egg Harbor City',
language_es: 'es',
text_pt: 'Egg Harbor City',
language_pt: 'pt',
text_pl: 'Egg Harbor City',
language_pl: 'pl',
text_ru: 'Эгг Харбор Сити',
language_ru: 'kk',
},
{
id: 'district.837356',
mapbox_id: 'dXJuOm1ieHBsYzpETWJz',
wikidata: 'Q497928',
text_en: 'Atlantic County',
language_en: 'en',
text: 'Atlantic County',
language: 'en',
text_de: 'Atlantic County',
language_de: 'de',
text_fr: "comté d'Atlantic",
language_fr: 'fr',
text_nl: 'Atlantic County',
language_nl: 'nl',
text_it: 'contea di Atlantic',
language_it: 'it',
text_es: 'Condado de Atlantic',
language_es: 'es',
text_pt: 'Condado de Atlantic',
language_pt: 'pt',
text_pl: 'Hrabstwo Atlantic',
language_pl: 'pl',
text_ru: 'Атлантик',
language_ru: 'ru',
},
{
id: 'region.156908',
mapbox_id: 'dXJuOm1ieHBsYzpBbVRz',
wikidata: 'Q1408',
short_code: 'US-NJ',
text_en: 'New Jersey',
language_en: 'en',
text: 'New Jersey',
language: 'en',
text_de: 'New Jersey',
language_de: 'de',
text_fr: 'New Jersey',
language_fr: 'fr',
text_nl: 'New Jersey',
language_nl: 'nl',
text_it: 'New Jersey',
language_it: 'it',
text_es: 'Nueva Jersey',
language_es: 'es',
text_pt: 'Nova Jérsia',
language_pt: 'pt',
text_pl: 'New Jersey',
language_pl: 'pl',
text_ru: 'Нью-Джерси',
language_ru: 'ru',
},
{
id: 'country.8940',
mapbox_id: 'dXJuOm1ieHBsYzpJdXc',
wikidata: 'Q30',
short_code: 'us',
text_en: 'United States',
language_en: 'en',
text: 'United States',
language: 'en',
text_de: 'Vereinigte Staaten',
language_de: 'de',
text_fr: 'États-Unis',
language_fr: 'fr',
text_nl: 'Verenigde Staten van Amerika',
language_nl: 'nl',
text_it: "Stati Uniti d'America",
language_it: 'it',
text_es: 'Estados Unidos',
language_es: 'es',
text_pt: 'Estados Unidos',
language_pt: 'pt',
text_pl: 'Stany Zjednoczone',
language_pl: 'pl',
text_ru: 'США',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,11 @@
import type { Context } from '@src/context'
import { mapboxResponses } from './mapboxResponses'
export const fetchMock: Context['fetch'] = (url) => {
const response: unknown = mapboxResponses[url] // eslint-disable-line security/detect-object-injection
if (!response) {
throw new Error(`Missing response for url: ${url}`)
}
return Promise.resolve(response)
}

View File

@ -0,0 +1,653 @@
export const leipzig = {
type: 'FeatureCollection',
query: ['leipzig'],
features: [
{
id: 'place.45697082',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBcmxJT2c',
wikidata: 'Q2079',
},
text_en: 'Leipzig',
language_en: 'en',
place_name_en: 'Leipzig, Saxony, Germany',
text: 'Leipzig',
language: 'en',
place_name: 'Leipzig, Saxony, Germany',
text_de: 'Leipzig',
language_de: 'de',
place_name_de: 'Leipzig, Sachsen, Deutschland',
text_fr: 'Leipzig',
language_fr: 'fr',
place_name_fr: 'Leipzig, Saxe, Allemagne',
text_nl: 'Leipzig',
language_nl: 'nl',
place_name_nl: 'Leipzig, Saksen, Duitsland',
text_it: 'Lipsia',
language_it: 'it',
place_name_it: 'Lipsia, Sassonia, Germania',
text_es: 'Leipzig',
language_es: 'es',
place_name_es: 'Leipzig, Sajonia, Alemania',
text_pt: 'Leipzig',
language_pt: 'pt',
place_name_pt: 'Leipzig, Saxónia, Alemanha',
text_pl: 'Lipsk',
language_pl: 'pl',
place_name_pl: 'Lipsk, Saksonia, Niemcy',
text_ru: 'Лейпциг',
language_ru: 'ru',
place_name_ru: 'Лейпциг, Саксония, Германия',
bbox: [12.236476, 51.23808, 12.542577, 51.447065],
center: [12.375101, 51.34083],
geometry: {
type: 'Point',
coordinates: [12.375101, 51.34083],
},
context: [
{
id: 'region.74810',
mapbox_id: 'dXJuOm1ieHBsYzpBU1E2',
wikidata: 'Q1202',
short_code: 'DE-SN',
text_en: 'Saxony',
language_en: 'en',
text: 'Saxony',
language: 'en',
text_de: 'Sachsen',
language_de: 'de',
text_fr: 'Saxe',
language_fr: 'fr',
text_nl: 'Saksen',
language_nl: 'nl',
text_it: 'Sassonia',
language_it: 'it',
text_es: 'Sajonia',
language_es: 'es',
text_pt: 'Saxónia',
language_pt: 'pt',
text_pl: 'Saksonia',
language_pl: 'pl',
text_ru: 'Саксония',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'place.18655359',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBUnlvZnc',
wikidata: 'Q4257515',
},
text_en: 'Leipzig',
language_en: 'de',
place_name_en: 'Leipzig, Varnensky District, Chelyabinsk, Russia',
text: 'Leipzig',
language: 'de',
place_name: 'Leipzig, Varnensky District, Chelyabinsk, Russia',
text_de: 'Leipzig',
language_de: 'de',
place_name_de: 'Leipzig, Warnenski rajon, Oblast Tscheljabinsk, Russland',
text_fr: 'Leipzig',
language_fr: 'nl',
place_name_fr: 'Leipzig, Raïon de Varna, oblast de Tcheliabinsk, Russie',
text_nl: 'Leipzig',
language_nl: 'nl',
place_name_nl: 'Leipzig, Varnenskiy rayon, Oblast Tsjeljabinsk, Rusland',
text_it: 'Лейпциг',
place_name_it: "Лейпциг, Varnenskij rajon, oblast' di Čeljabinsk, Russia",
text_es: 'Leipzig',
language_es: 'nl',
place_name_es: 'Leipzig, Raïon de Varna, Cheliábinsk, Rusia',
text_pt: 'Лейпциг',
place_name_pt: 'Лейпциг, Varnenskij rajon, Oblast de Cheliabinsk, Rússia',
text_pl: 'Leipzig',
language_pl: 'nl',
place_name_pl: 'Leipzig, Varnenskiy rayon, Obwód czelabiński, Rosja',
text_ru: 'Лейпциг',
language_ru: 'ru',
place_name_ru: 'Лейпциг, Варненский район, Челябинская область, Россия',
center: [61.049587, 53.568829],
geometry: {
type: 'Point',
coordinates: [61.049587, 53.568829],
},
context: [
{
id: 'district.1967810',
mapbox_id: 'dXJuOm1ieHBsYzpIZ2JD',
wikidata: 'Q1658354',
text_en: 'Varnensky District',
language_en: 'en',
text: 'Varnensky District',
language: 'en',
text_de: 'Warnenski rajon',
language_de: 'de',
text_fr: 'Raïon de Varna',
language_fr: 'fr',
text_nl: 'Varnenskiy rayon',
language_nl: 'nl',
text_it: 'Varnenskij rajon',
language_it: 'it',
text_es: 'Raïon de Varna',
language_es: 'fr',
text_pt: 'Varnenskij rajon',
language_pt: 'it',
text_pl: 'Varnenskiy rayon',
language_pl: 'nl',
text_ru: 'Варненский район',
language_ru: 'ru',
},
{
id: 'region.468162',
mapbox_id: 'dXJuOm1ieHBsYzpCeVRD',
wikidata: 'Q5714',
short_code: 'RU-CHE',
text_en: 'Chelyabinsk',
language_en: 'en',
text: 'Chelyabinsk',
language: 'en',
text_de: 'Oblast Tscheljabinsk',
language_de: 'de',
text_fr: 'oblast de Tcheliabinsk',
language_fr: 'fr',
text_nl: 'Oblast Tsjeljabinsk',
language_nl: 'nl',
text_it: "oblast' di Čeljabinsk",
language_it: 'it',
text_es: 'Cheliábinsk',
language_es: 'es',
text_pt: 'Oblast de Cheliabinsk',
language_pt: 'pt',
text_pl: 'Obwód czelabiński',
language_pl: 'pl',
text_ru: 'Челябинская область',
language_ru: 'ru',
},
{
id: 'country.8898',
mapbox_id: 'dXJuOm1ieHBsYzpJc0k',
wikidata: 'Q159',
short_code: 'ru',
text_en: 'Russia',
language_en: 'en',
text: 'Russia',
language: 'en',
text_de: 'Russland',
language_de: 'de',
text_fr: 'Russie',
language_fr: 'fr',
text_nl: 'Rusland',
language_nl: 'nl',
text_it: 'Russia',
language_it: 'it',
text_es: 'Rusia',
language_es: 'es',
text_pt: 'Rússia',
language_pt: 'pt',
text_pl: 'Rosja',
language_pl: 'pl',
text_ru: 'Россия',
language_ru: 'ru',
},
],
},
{
id: 'address.7058830234246124',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6OGQ4MmQ0YmYtNWViYy00OTY2LWE1MTMtNDlkYzNiNDBhZjhm',
},
text_en: 'Leipzig Way',
place_name_en: 'Leipzig Way, Greenwith South Australia 5125, Australia',
text: 'Leipzig Way',
place_name: 'Leipzig Way, Greenwith South Australia 5125, Australia',
text_de: 'Leipzig Way',
place_name_de: 'Leipzig Way, Greenwith South Australia 5125, Australien',
text_fr: 'Leipzig Way',
place_name_fr: 'Leipzig Way, Greenwith Australie-Méridionale 5125, Australie',
text_nl: 'Leipzig Way',
place_name_nl: 'Leipzig Way, Greenwith Zuid-Australië 5125, Australië',
text_it: 'Leipzig Way',
place_name_it: 'Leipzig Way, Greenwith Australia Meridionale 5125, Australia',
text_es: 'Leipzig Way',
place_name_es: 'Leipzig Way, Greenwith Australia Meridional 5125, Australia',
text_pt: 'Leipzig Way',
place_name_pt: 'Leipzig Way, Greenwith Austrália Meridional 5125, Austrália',
text_pl: 'Leipzig Way',
place_name_pl: 'Leipzig Way, Greenwith Australia Południowa 5125, Australia',
text_ru: 'Leipzig Way',
place_name_ru: 'Leipzig Way, Greenwith Южная Австралия 5125, Австралия',
center: [138.709402, -34.765821],
geometry: {
type: 'Point',
coordinates: [138.709402, -34.765821],
},
context: [
{
id: 'postcode.15560206',
mapbox_id: 'dXJuOm1ieHBsYzo3VzRP',
text_en: '5125',
text: '5125',
text_de: '5125',
text_fr: '5125',
text_nl: '5125',
text_it: '5125',
text_es: '5125',
text_pt: '5125',
text_pl: '5125',
text_ru: '5125',
},
{
id: 'locality.265447950',
mapbox_id: 'dXJuOm1ieHBsYzpEOUpxRGc',
wikidata: 'Q5604921',
text_en: 'Greenwith',
language_en: 'en',
text: 'Greenwith',
language: 'en',
text_de: 'Greenwith',
language_de: 'en',
text_fr: 'Greenwith',
language_fr: 'fr',
text_nl: 'Greenwith',
language_nl: 'fr',
text_it: 'Greenwith',
language_it: 'fr',
text_es: 'Greenwith',
language_es: 'fr',
text_pt: 'Greenwith',
text_pl: 'Greenwith',
language_pl: 'en',
text_ru: 'Greenwith',
},
{
id: 'place.51214',
mapbox_id: 'dXJuOm1ieHBsYzp5QTQ',
wikidata: 'Q5112',
text_en: 'Adelaide',
language_en: 'en',
text: 'Adelaide',
language: 'en',
text_de: 'Adelaide',
language_de: 'de',
text_fr: 'Adélaïde',
language_fr: 'fr',
text_nl: 'Adelaide',
language_nl: 'nl',
text_it: 'Adelaide',
language_it: 'it',
text_es: 'Adelaida',
language_es: 'es',
text_pt: 'Adelaide',
language_pt: 'pt',
text_pl: 'Adelaide',
language_pl: 'pl',
text_ru: 'Аделаида',
language_ru: 'ru',
},
{
id: 'region.66574',
mapbox_id: 'dXJuOm1ieHBsYzpBUVFP',
wikidata: 'Q35715',
short_code: 'AU-SA',
text_en: 'South Australia',
language_en: 'en',
text: 'South Australia',
language: 'en',
text_de: 'South Australia',
language_de: 'de',
text_fr: 'Australie-Méridionale',
language_fr: 'fr',
text_nl: 'Zuid-Australië',
language_nl: 'nl',
text_it: 'Australia Meridionale',
language_it: 'it',
text_es: 'Australia Meridional',
language_es: 'es',
text_pt: 'Austrália Meridional',
language_pt: 'pt',
text_pl: 'Australia Południowa',
language_pl: 'pl',
text_ru: 'Южная Австралия',
language_ru: 'ru',
},
{
id: 'country.8718',
mapbox_id: 'dXJuOm1ieHBsYzpJZzQ',
wikidata: 'Q408',
short_code: 'au',
text_en: 'Australia',
language_en: 'en',
text: 'Australia',
language: 'en',
text_de: 'Australien',
language_de: 'de',
text_fr: 'Australie',
language_fr: 'fr',
text_nl: 'Australië',
language_nl: 'nl',
text_it: 'Australia',
language_it: 'it',
text_es: 'Australia',
language_es: 'es',
text_pt: 'Austrália',
language_pt: 'pt',
text_pl: 'Australia',
language_pl: 'pl',
text_ru: 'Австралия',
language_ru: 'ru',
},
],
},
{
id: 'address.3203988662803706',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6NGUzNzNkZjItNmI4Ny00ODdkLWI3MzQtZjVkMGJlMjI1NjA5',
},
text_en: 'Leipzig',
place_name_en: 'Leipzig, Osorno, Los Lagos 5290000, Chile',
text: 'Leipzig',
place_name: 'Leipzig, Osorno, Los Lagos 5290000, Chile',
text_de: 'Leipzig',
place_name_de: 'Leipzig, Osorno, Región de Los Lagos 5290000, Chile',
text_fr: 'Leipzig',
place_name_fr: 'Leipzig, Osorno, Région des Lacs 5290000, Chili',
text_nl: 'Leipzig',
place_name_nl: 'Leipzig, Osorno, Los Lagos 5290000, Chili',
text_it: 'Leipzig',
place_name_it: 'Leipzig, Osorno, regione di Los Lagos 5290000, Cile',
text_es: 'Leipzig',
place_name_es: 'Leipzig, Osorno, Región de Los Lagos 5290000, Chile',
text_pt: 'Leipzig',
place_name_pt: 'Leipzig, Osorno, Região de Los Lagos 5290000, Chile',
text_pl: 'Leipzig',
place_name_pl: 'Leipzig, Osorno, Los Lagos 5290000, Chile',
text_ru: 'Leipzig',
place_name_ru: 'Leipzig, Осорно, Лос-Лагос 5290000, Чили',
center: [-73.1087, -40.570176],
geometry: {
type: 'Point',
coordinates: [-73.1087, -40.570176],
},
context: [
{
id: 'postcode.2002479',
mapbox_id: 'dXJuOm1ieHBsYzpIbzR2',
text_en: '5290000',
text: '5290000',
text_de: '5290000',
text_fr: '5290000',
text_nl: '5290000',
text_it: '5290000',
text_es: '5290000',
text_pt: '5290000',
text_pl: '5290000',
text_ru: '5290000',
},
{
id: 'locality.2656815',
mapbox_id: 'dXJuOm1ieHBsYzpLSW92',
text_en: 'Cementerio Municipal',
text: 'Cementerio Municipal',
text_de: 'Cementerio Municipal',
text_fr: 'Cementerio Municipal',
text_nl: 'Cementerio Municipal',
text_it: 'Cementerio Municipal',
text_es: 'Cementerio Municipal',
text_pt: 'Cementerio Municipal',
text_pl: 'Cementerio Municipal',
text_ru: 'Cementerio Municipal',
},
{
id: 'place.1574959',
mapbox_id: 'dXJuOm1ieHBsYzpHQWd2',
wikidata: 'Q51059',
text_en: 'Osorno',
language_en: 'en',
text: 'Osorno',
language: 'en',
text_de: 'Osorno',
language_de: 'de',
text_fr: 'Osorno',
language_fr: 'fr',
text_nl: 'Osorno',
language_nl: 'nl',
text_it: 'Osorno',
language_it: 'it',
text_es: 'Osorno',
language_es: 'es',
text_pt: 'Osorno',
language_pt: 'pt',
text_pl: 'Osorno',
language_pl: 'pl',
text_ru: 'Осорно',
language_ru: 'ru',
},
{
id: 'region.99375',
mapbox_id: 'dXJuOm1ieHBsYzpBWVF2',
wikidata: 'Q2178',
short_code: 'CL-LL',
text_en: 'Los Lagos',
language_en: 'en',
text: 'Los Lagos',
language: 'en',
text_de: 'Región de Los Lagos',
language_de: 'de',
text_fr: 'Région des Lacs',
language_fr: 'fr',
text_nl: 'Los Lagos',
language_nl: 'nl',
text_it: 'regione di Los Lagos',
language_it: 'it',
text_es: 'Región de Los Lagos',
language_es: 'es',
text_pt: 'Região de Los Lagos',
language_pt: 'pt',
text_pl: 'Los Lagos',
language_pl: 'pl',
text_ru: 'Лос-Лагос',
language_ru: 'ru',
},
{
id: 'country.8751',
mapbox_id: 'dXJuOm1ieHBsYzpJaTg',
wikidata: 'Q298',
short_code: 'cl',
text_en: 'Chile',
language_en: 'en',
text: 'Chile',
language: 'en',
text_de: 'Chile',
language_de: 'de',
text_fr: 'Chili',
language_fr: 'fr',
text_nl: 'Chili',
language_nl: 'nl',
text_it: 'Cile',
language_it: 'it',
text_es: 'Chile',
language_es: 'es',
text_pt: 'Chile',
language_pt: 'pt',
text_pl: 'Chile',
language_pl: 'pl',
text_ru: 'Чили',
language_ru: 'ru',
},
],
},
{
id: 'address.7521078080010634',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6OTFkZjliYjctNWJiZC00YTk3LTk1ZjktOTZjMGVkNzU3MjY3',
},
text_en: 'Leipziger Straße',
language_en: 'de',
place_name_en: 'Leipziger Straße, 43003 Chomutov, Ústí nad Labem, Czech Republic',
text: 'Leipziger Straße',
language: 'de',
place_name: 'Leipziger Straße, 43003 Chomutov, Ústí nad Labem, Czech Republic',
text_de: 'Leipziger Straße',
language_de: 'de',
place_name_de: 'Leipziger Straße, 43003 Chomutov, Ústecký kraj, Tschechien',
text_fr: 'Lipská',
place_name_fr: "Lipská, 43003 Chomutov, région d'Ústí nad Labem, Tchéquie",
text_nl: 'Lipská',
place_name_nl: 'Lipská, 43003 Chomutov, Ústí nad Labem, Tsjechië',
text_it: 'Lipská',
place_name_it: 'Lipská, 43003 Chomutov, regione di Ústí nad Labem, Repubblica Ceca',
text_es: 'Lipská',
place_name_es: 'Lipská, 43003 Chomutov, Región de Ústí nad Labem, República Checa',
text_pt: 'Lipská',
place_name_pt: 'Lipská, 43003 Chomutov, Ústí nad Labem, Chéquia',
text_pl: 'Lipská',
place_name_pl: 'Lipská, 43003 Chomutov, Kraj ustecki, Czechy',
text_ru: 'Lipská',
place_name_ru: 'Lipská, 43003 Хомутов, Устецкий край, Чехия',
center: [13.385229, 50.472246],
geometry: {
type: 'Point',
coordinates: [13.385229, 50.472246],
},
context: [
{
id: 'postcode.7521078080010634',
text_en: '43003',
text: '43003',
text_de: '43003',
text_fr: '43003',
text_nl: '43003',
text_it: '43003',
text_es: '43003',
text_pt: '43003',
text_pl: '43003',
text_ru: '43003',
},
{
id: 'place.6162489',
mapbox_id: 'dXJuOm1ieHBsYzpYZ2c1',
wikidata: 'Q146356',
text_en: 'Chomutov',
language_en: 'en',
text: 'Chomutov',
language: 'en',
text_de: 'Chomutov',
language_de: 'de',
text_fr: 'Chomutov',
language_fr: 'fr',
text_nl: 'Chomutov',
language_nl: 'nl',
text_it: 'Chomutov',
language_it: 'it',
text_es: 'Chomutov',
language_es: 'es',
text_pt: 'Chomutov',
language_pt: 'pt',
text_pl: 'Chomutov',
language_pl: 'pl',
text_ru: 'Хомутов',
language_ru: 'ru',
},
{
id: 'region.74809',
mapbox_id: 'dXJuOm1ieHBsYzpBU1E1',
wikidata: 'Q192702',
short_code: 'CZ-42',
text_en: 'Ústí nad Labem',
language_en: 'en',
text: 'Ústí nad Labem',
language: 'en',
text_de: 'Ústecký kraj',
language_de: 'de',
text_fr: "région d'Ústí nad Labem",
language_fr: 'fr',
text_nl: 'Ústí nad Labem',
language_nl: 'nl',
text_it: 'regione di Ústí nad Labem',
language_it: 'it',
text_es: 'Región de Ústí nad Labem',
language_es: 'es',
text_pt: 'Ústí nad Labem',
language_pt: 'pt',
text_pl: 'Kraj ustecki',
language_pl: 'pl',
text_ru: 'Устецкий край',
language_ru: 'ru',
},
{
id: 'country.8761',
mapbox_id: 'dXJuOm1ieHBsYzpJams',
wikidata: 'Q213',
short_code: 'cz',
text_en: 'Czech Republic',
language_en: 'en',
text: 'Czech Republic',
language: 'en',
text_de: 'Tschechien',
language_de: 'de',
text_fr: 'Tchéquie',
language_fr: 'fr',
text_nl: 'Tsjechië',
language_nl: 'nl',
text_it: 'Repubblica Ceca',
language_it: 'it',
text_es: 'República Checa',
language_es: 'es',
text_pt: 'Chéquia',
language_pt: 'pt',
text_pl: 'Czechy',
language_pl: 'pl',
text_ru: 'Чехия',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,32 @@
import { berlinDe } from './berlinDe'
import { berlinEn } from './berlinEn'
import { berlinGermany } from './berlinGermany'
import { empty } from './empty'
import { hamburg } from './hamburg'
import { hamburgNY } from './hamburgNY'
import { leipzig } from './leipzig'
import { paris } from './paris'
import { welzheim } from './welzheim'
export const mapboxResponses = {
'https://api.mapbox.com/geocoding/v5/mapbox.places/Berlin.json?access_token=MAPBOX_TOKEN&types=region,place,country&language=en':
berlinEn,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Berlin.json?access_token=MAPBOX_TOKEN&types=region,place,country&language=de':
berlinDe,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Berlin%2C%20Germany.json?access_token=MAPBOX_TOKEN&types=region,place,country,address&language=en,de,fr,nl,it,es,pt,pl,ru':
berlinGermany,
'https://api.mapbox.com/geocoding/v5/mapbox.places/GbHtsd4sdHa.json?access_token=MAPBOX_TOKEN&types=region,place,country&language=en':
empty,
'https://api.mapbox.com/geocoding/v5/mapbox.places/.json?access_token=MAPBOX_TOKEN&types=region,place,country&language=en':
empty,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Welzheim%2C%20Baden-W%C3%BCrttemberg%2C%20Germany.json?access_token=MAPBOX_TOKEN&types=region,place,country,address&language=en,de,fr,nl,it,es,pt,pl,ru':
welzheim,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Hamburg%2C%20Germany.json?access_token=MAPBOX_TOKEN&types=region,place,country,address&language=en,de,fr,nl,it,es,pt,pl,ru':
hamburg,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Hamburg%2C%20New%20Jersey%2C%20United%20States.json?access_token=MAPBOX_TOKEN&types=region,place,country,address&language=en,de,fr,nl,it,es,pt,pl,ru':
hamburgNY,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Leipzig.json?access_token=MAPBOX_TOKEN&types=region,place,country,address&language=en,de,fr,nl,it,es,pt,pl,ru':
leipzig,
'https://api.mapbox.com/geocoding/v5/mapbox.places/Paris%2C%20France.json?access_token=MAPBOX_TOKEN&types=region,place,country,address&language=en,de,fr,nl,it,es,pt,pl,ru':
paris,
} as const

View File

@ -0,0 +1,615 @@
export const paris = {
type: 'FeatureCollection',
query: ['paris', 'france'],
features: [
{
id: 'place.894029',
type: 'Feature',
place_type: ['region', 'place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpEYVJO',
wikidata: 'Q90',
short_code: 'FR-75',
},
text_en: 'Paris',
language_en: 'en',
place_name_en: 'Paris, France',
text: 'Paris',
language: 'en',
place_name: 'Paris, France',
text_de: 'Paris',
language_de: 'de',
place_name_de: 'Paris, Frankreich',
text_fr: 'Paris',
language_fr: 'fr',
place_name_fr: 'Paris, France',
text_nl: 'Parijs',
language_nl: 'nl',
place_name_nl: 'Parijs, Frankrijk',
text_it: 'Parigi',
language_it: 'it',
place_name_it: 'Parigi, Francia',
text_es: 'París',
language_es: 'es',
place_name_es: 'París, Francia',
text_pt: 'Paris',
language_pt: 'pt',
place_name_pt: 'Paris, França',
text_pl: 'Paryż',
language_pl: 'pl',
place_name_pl: 'Paryż, Francja',
text_ru: 'Париж',
language_ru: 'ru',
place_name_ru: 'Париж, Франция',
bbox: [2.224229, 48.815562, 2.469851, 48.902148],
center: [2.348392, 48.853495],
geometry: {
type: 'Point',
coordinates: [2.348392, 48.853495],
},
context: [
{
id: 'country.8781',
mapbox_id: 'dXJuOm1ieHBsYzpJazA',
wikidata: 'Q142',
short_code: 'fr',
text_en: 'France',
language_en: 'en',
text: 'France',
language: 'en',
text_de: 'Frankreich',
language_de: 'de',
text_fr: 'France',
language_fr: 'fr',
text_nl: 'Frankrijk',
language_nl: 'nl',
text_it: 'Francia',
language_it: 'it',
text_es: 'Francia',
language_es: 'es',
text_pt: 'França',
language_pt: 'pt',
text_pl: 'Francja',
language_pl: 'pl',
text_ru: 'Франция',
language_ru: 'ru',
},
],
},
{
id: 'address.7942827143743488',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6ZGUyMmI5NjYtODFjMi00YjA4LWJkODgtMGIxNWE2YWE0Y2I2',
},
text_en: 'Paris',
place_name_en: 'Paris, 83170 Brignoles, France',
text: 'Paris',
place_name: 'Paris, 83170 Brignoles, France',
text_de: 'Paris',
place_name_de: 'Paris, 83170 Brignoles, Frankreich',
text_fr: 'Paris',
place_name_fr: 'Paris, 83170 Brignoles, France',
text_nl: 'Paris',
place_name_nl: 'Paris, 83170 Brignoles, Frankrijk',
text_it: 'Paris',
place_name_it: 'Paris, 83170 Brignoles, Francia',
text_es: 'Paris',
place_name_es: 'Paris, 83170 Brignoles, Francia',
text_pt: 'Paris',
place_name_pt: 'Paris, 83170 Brignoles, França',
text_pl: 'Paris',
place_name_pl: 'Paris, 83170 Brignoles, Francja',
text_ru: 'Paris',
place_name_ru: 'Paris, 83170 Бриньоль, Франция',
center: [6.069561, 43.415211],
geometry: {
type: 'Point',
coordinates: [6.069561, 43.415211],
},
context: [
{
id: 'neighborhood.23768141',
mapbox_id: 'dXJuOm1ieHBsYzpBV3FzVFE',
text_en: 'Extension Annees 80-',
language_en: 'fr',
text: 'Extension Annees 80-',
language: 'fr',
text_de: 'Extension Annees 80-',
text_fr: 'Extension Annees 80-',
language_fr: 'fr',
text_nl: 'Extension Annees 80-',
language_nl: 'fr',
text_it: 'Extension Annees 80-',
language_it: 'fr',
text_es: 'Extension Annees 80-',
language_es: 'fr',
text_pt: 'Extension Annees 80-',
text_pl: 'Extension Annees 80-',
text_ru: 'Extension Annees 80-',
},
{
id: 'postcode.43822669',
mapbox_id: 'dXJuOm1ieHBsYzpBcHl1VFE',
text_en: '83170',
text: '83170',
text_de: '83170',
text_fr: '83170',
text_nl: '83170',
text_it: '83170',
text_es: '83170',
text_pt: '83170',
text_pl: '83170',
text_ru: '83170',
},
{
id: 'place.37988429',
mapbox_id: 'dXJuOm1ieHBsYzpBa09vVFE',
wikidata: 'Q207584',
text_en: 'Brignoles',
language_en: 'en',
text: 'Brignoles',
language: 'en',
text_de: 'Brignoles',
language_de: 'de',
text_fr: 'Brignoles',
language_fr: 'fr',
text_nl: 'Brignoles',
language_nl: 'nl',
text_it: 'Brignoles',
language_it: 'it',
text_es: 'Brignoles',
language_es: 'es',
text_pt: 'Brignoles',
language_pt: 'pt',
text_pl: 'Brignoles',
language_pl: 'pl',
text_ru: 'Бриньоль',
language_ru: 'ru',
},
{
id: 'region.451661',
mapbox_id: 'dXJuOm1ieHBsYzpCdVJO',
wikidata: 'Q12789',
short_code: 'FR-83',
text_en: 'Var',
language_en: 'en',
text: 'Var',
language: 'en',
text_de: 'Département Var',
language_de: 'de',
text_fr: 'Var',
language_fr: 'fr',
text_nl: 'Var',
language_nl: 'nl',
text_it: 'Varo',
language_it: 'it',
text_es: 'Var',
language_es: 'es',
text_pt: 'Var',
language_pt: 'pt',
text_pl: 'Var',
language_pl: 'pl',
text_ru: 'Вар',
language_ru: 'ru',
},
{
id: 'country.8781',
mapbox_id: 'dXJuOm1ieHBsYzpJazA',
wikidata: 'Q142',
short_code: 'fr',
text_en: 'France',
language_en: 'en',
text: 'France',
language: 'en',
text_de: 'Frankreich',
language_de: 'de',
text_fr: 'France',
language_fr: 'fr',
text_nl: 'Frankrijk',
language_nl: 'nl',
text_it: 'Francia',
language_it: 'it',
text_es: 'Francia',
language_es: 'es',
text_pt: 'França',
language_pt: 'pt',
text_pl: 'Francja',
language_pl: 'pl',
text_ru: 'Франция',
language_ru: 'ru',
},
],
},
{
id: 'address.1606141678135750',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6YTI3YjI5ODYtNGI1ZS00MTBiLThkOTEtOWJjOGUzZmE4NjA0',
},
text_en: 'Paris',
place_name_en: "Paris, 11230 Sainte-Colombe-sur-l'Hers, France",
text: 'Paris',
place_name: "Paris, 11230 Sainte-Colombe-sur-l'Hers, France",
text_de: 'Paris',
place_name_de: "Paris, 11230 Sainte-Colombe-sur-l'Hers, Frankreich",
text_fr: 'Paris',
place_name_fr: "Paris, 11230 Sainte-Colombe-sur-l'Hers, France",
text_nl: 'Paris',
place_name_nl: "Paris, 11230 Sainte-Colombe-sur-l'Hers, Frankrijk",
text_it: 'Paris',
place_name_it: "Paris, 11230 Sainte-Colombe-sur-l'Hers, Francia",
text_es: 'Paris',
place_name_es: "Paris, 11230 Sainte-Colombe-sur-l'Hers, Francia",
text_pt: 'Paris',
place_name_pt: "Paris, 11230 Sainte-Colombe-sur-l'Hers, França",
text_pl: 'Paris',
place_name_pl: "Paris, 11230 Sainte-Colombe-sur-l'Hers, Francja",
text_ru: 'Paris',
place_name_ru: 'Paris, 11230 Сент-Коломб-сюр-л’Эр, Франция',
center: [1.957948, 42.947813],
geometry: {
type: 'Point',
coordinates: [1.957948, 42.947813],
},
context: [
{
id: 'postcode.3993165',
mapbox_id: 'dXJuOm1ieHBsYzpQTzVO',
text_en: '11230',
text: '11230',
text_de: '11230',
text_fr: '11230',
text_nl: '11230',
text_it: '11230',
text_es: '11230',
text_pt: '11230',
text_pl: '11230',
text_ru: '11230',
},
{
id: 'place.218073165',
mapbox_id: 'dXJuOm1ieHBsYzpEUCtJVFE',
wikidata: 'Q1081836',
text_en: "Sainte-Colombe-sur-l'Hers",
language_en: 'en',
text: "Sainte-Colombe-sur-l'Hers",
language: 'en',
text_de: "Sainte-Colombe-sur-l'Hers",
language_de: 'de',
text_fr: "Sainte-Colombe-sur-l'Hers",
language_fr: 'fr',
text_nl: "Sainte-Colombe-sur-l'Hers",
language_nl: 'nl',
text_it: "Sainte-Colombe-sur-l'Hers",
language_it: 'it',
text_es: "Sainte-Colombe-sur-l'Hers",
language_es: 'es',
text_pt: "Sainte-Colombe-sur-l'Hers",
language_pt: 'pt',
text_pl: "Sainte-Colombe-sur-l'Hers",
language_pl: 'pl',
text_ru: 'Сент-Коломб-сюр-л’Эр',
language_ru: 'ru',
},
{
id: 'region.713805',
mapbox_id: 'dXJuOm1ieHBsYzpDdVJO',
wikidata: 'Q3207',
short_code: 'FR-11',
text_en: 'Aude',
language_en: 'en',
text: 'Aude',
language: 'en',
text_de: 'Département Aude',
language_de: 'de',
text_fr: 'Aude',
language_fr: 'fr',
text_nl: 'Aude',
language_nl: 'nl',
text_it: 'Aude',
language_it: 'it',
text_es: 'Aude',
language_es: 'es',
text_pt: 'Aude',
language_pt: 'pt',
text_pl: 'Aude',
language_pl: 'pl',
text_ru: 'Од',
language_ru: 'ru',
},
{
id: 'country.8781',
mapbox_id: 'dXJuOm1ieHBsYzpJazA',
wikidata: 'Q142',
short_code: 'fr',
text_en: 'France',
language_en: 'en',
text: 'France',
language: 'en',
text_de: 'Frankreich',
language_de: 'de',
text_fr: 'France',
language_fr: 'fr',
text_nl: 'Frankrijk',
language_nl: 'nl',
text_it: 'Francia',
language_it: 'it',
text_es: 'Francia',
language_es: 'es',
text_pt: 'França',
language_pt: 'pt',
text_pl: 'Francja',
language_pl: 'pl',
text_ru: 'Франция',
language_ru: 'ru',
},
],
},
{
id: 'address.8644476532166668',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6MTY1YmU5ZTAtMWZiMS00MjhhLThlZmQtN2NkMDVhZjZkNzE3',
},
text_en: 'Paris',
place_name_en: 'Paris, 36120 Jeu-les-Bois, France',
text: 'Paris',
place_name: 'Paris, 36120 Jeu-les-Bois, France',
text_de: 'Paris',
place_name_de: 'Paris, 36120 Jeu-les-Bois, Frankreich',
text_fr: 'Paris',
place_name_fr: 'Paris, 36120 Jeu-les-Bois, France',
text_nl: 'Paris',
place_name_nl: 'Paris, 36120 Jeu-les-Bois, Frankrijk',
text_it: 'Paris',
place_name_it: 'Paris, 36120 Jeu-les-Bois, Francia',
text_es: 'Paris',
place_name_es: 'Paris, 36120 Jeu-les-Bois, Francia',
text_pt: 'Paris',
place_name_pt: 'Paris, 36120 Jeu-les-Bois, França',
text_pl: 'Paris',
place_name_pl: 'Paris, 36120 Jeu-les-Bois, Francja',
text_ru: 'Paris',
place_name_ru: 'Paris, 36120 Же-ле-Буа, Франция',
center: [1.811749, 46.694191],
geometry: {
type: 'Point',
coordinates: [1.811749, 46.694191],
},
context: [
{
id: 'postcode.17755725',
mapbox_id: 'dXJuOm1ieHBsYzpBUTd1VFE',
text_en: '36120',
text: '36120',
text_de: '36120',
text_fr: '36120',
text_nl: '36120',
text_it: '36120',
text_es: '36120',
text_pt: '36120',
text_pl: '36120',
text_ru: '36120',
},
{
id: 'place.111659085',
mapbox_id: 'dXJuOm1ieHBsYzpCcWZJVFE',
wikidata: 'Q596397',
text_en: 'Jeu-les-Bois',
language_en: 'en',
text: 'Jeu-les-Bois',
language: 'en',
text_de: 'Jeu-les-Bois',
language_de: 'de',
text_fr: 'Jeu-les-Bois',
language_fr: 'fr',
text_nl: 'Jeu-les-Bois',
language_nl: 'nl',
text_it: 'Jeu-les-Bois',
language_it: 'it',
text_es: 'Jeu-les-Bois',
language_es: 'es',
text_pt: 'Jeu-les-Bois',
language_pt: 'pt',
text_pl: 'Jeu-les-Bois',
language_pl: 'pl',
text_ru: 'Же-ле-Буа',
language_ru: 'ru',
},
{
id: 'region.74829',
mapbox_id: 'dXJuOm1ieHBsYzpBU1JO',
wikidata: 'Q12553',
short_code: 'FR-36',
text_en: 'Indre',
language_en: 'en',
text: 'Indre',
language: 'en',
text_de: 'Département Indre',
language_de: 'de',
text_fr: 'Indre',
language_fr: 'fr',
text_nl: 'Indre',
language_nl: 'nl',
text_it: 'Indre',
language_it: 'it',
text_es: 'Indre',
language_es: 'es',
text_pt: 'Indre',
language_pt: 'pt',
text_pl: 'Indre',
language_pl: 'pl',
text_ru: 'Эндр',
language_ru: 'ru',
},
{
id: 'country.8781',
mapbox_id: 'dXJuOm1ieHBsYzpJazA',
wikidata: 'Q142',
short_code: 'fr',
text_en: 'France',
language_en: 'en',
text: 'France',
language: 'en',
text_de: 'Frankreich',
language_de: 'de',
text_fr: 'France',
language_fr: 'fr',
text_nl: 'Frankrijk',
language_nl: 'nl',
text_it: 'Francia',
language_it: 'it',
text_es: 'Francia',
language_es: 'es',
text_pt: 'França',
language_pt: 'pt',
text_pl: 'Francja',
language_pl: 'pl',
text_ru: 'Франция',
language_ru: 'ru',
},
],
},
{
id: 'address.8865196537941870',
type: 'Feature',
place_type: ['address'],
relevance: 1,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6NjU2N2E5ODgtN2I4Yi00ZjU2LWEzZWUtYjk4Y2YwMjQzY2Ey',
},
text_en: 'Paris',
place_name_en: 'Paris, 31560 Saint-Léon, France',
text: 'Paris',
place_name: 'Paris, 31560 Saint-Léon, France',
text_de: 'Paris',
place_name_de: 'Paris, 31560 Saint-Léon, Frankreich',
text_fr: 'Paris',
place_name_fr: 'Paris, 31560 Saint-Léon, France',
text_nl: 'Paris',
place_name_nl: 'Paris, 31560 Saint-Léon, Frankrijk',
text_it: 'Paris',
place_name_it: 'Paris, 31560 Saint-Léon, Francia',
text_es: 'Paris',
place_name_es: 'Paris, 31560 Saint-Léon, Francia',
text_pt: 'Paris',
place_name_pt: 'Paris, 31560 Saint-Léon, França',
text_pl: 'Paris',
place_name_pl: 'Paris, 31560 Saint-Léon, Francja',
text_ru: 'Paris',
place_name_ru: 'Paris, 31560 Сен-Леон, Франция',
center: [1.549305, 43.419569],
geometry: {
type: 'Point',
coordinates: [1.549305, 43.419569],
},
context: [
{
id: 'postcode.15044173',
mapbox_id: 'dXJuOm1ieHBsYzo1WTVO',
text_en: '31560',
text: '31560',
text_de: '31560',
text_fr: '31560',
text_nl: '31560',
text_it: '31560',
text_es: '31560',
text_pt: '31560',
text_pl: '31560',
text_ru: '31560',
},
{
id: 'place.229107789',
mapbox_id: 'dXJuOm1ieHBsYzpEYWZvVFE',
wikidata: 'Q1362198',
text_en: 'Saint-Léon',
language_en: 'en',
text: 'Saint-Léon',
language: 'en',
text_de: 'Saint-Léon',
language_de: 'de',
text_fr: 'Saint-Léon',
language_fr: 'fr',
text_nl: 'Saint-Léon',
language_nl: 'nl',
text_it: 'Saint-Léon',
language_it: 'it',
text_es: 'Saint-Léon',
language_es: 'es',
text_pt: 'Saint-Léon',
language_pt: 'pt',
text_pl: 'Saint-Léon',
language_pl: 'pl',
text_ru: 'Сен-Леон',
language_ru: 'ru',
},
{
id: 'region.42061',
mapbox_id: 'dXJuOm1ieHBsYzpwRTA',
wikidata: 'Q12538',
short_code: 'FR-31',
text_en: 'Haute-Garonne',
language_en: 'en',
text: 'Haute-Garonne',
language: 'en',
text_de: 'Haute-Garonne',
language_de: 'de',
text_fr: 'Haute-Garonne',
language_fr: 'fr',
text_nl: 'Haute-Garonne',
language_nl: 'nl',
text_it: 'Alta Garonna',
language_it: 'it',
text_es: 'Alto Garona',
language_es: 'es',
text_pt: 'Alta Garona',
language_pt: 'pt',
text_pl: 'Górna Garonna',
language_pl: 'pl',
text_ru: 'Верхняя Гаронна',
language_ru: 'ru',
},
{
id: 'country.8781',
mapbox_id: 'dXJuOm1ieHBsYzpJazA',
wikidata: 'Q142',
short_code: 'fr',
text_en: 'France',
language_en: 'en',
text: 'France',
language: 'en',
text_de: 'Frankreich',
language_de: 'de',
text_fr: 'France',
language_fr: 'fr',
text_nl: 'Frankrijk',
language_nl: 'nl',
text_it: 'Francia',
language_it: 'it',
text_es: 'Francia',
language_es: 'es',
text_pt: 'França',
language_pt: 'pt',
text_pl: 'Francja',
language_pl: 'pl',
text_ru: 'Франция',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -0,0 +1,686 @@
export const welzheim = {
type: 'FeatureCollection',
query: ['welzheim', 'baden', 'württemberg', 'germany'],
features: [
{
id: 'place.85084218',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpCUkpJT2c',
wikidata: 'Q82421',
},
text_en: 'Welzheim',
language_en: 'en',
place_name_en: 'Welzheim, arrondissement de Rems-Murr, Baden-Württemberg, Germany',
text: 'Welzheim',
language: 'en',
place_name: 'Welzheim, arrondissement de Rems-Murr, Baden-Württemberg, Germany',
text_de: 'Welzheim',
language_de: 'de',
place_name_de: 'Welzheim, Rems-Murr-Kreis, Baden-Württemberg, Deutschland',
text_fr: 'Welzheim',
language_fr: 'fr',
place_name_fr: 'Welzheim, arrondissement de Rems-Murr, Bade-Wurtemberg, Allemagne',
text_nl: 'Welzheim',
language_nl: 'nl',
place_name_nl: 'Welzheim, arrondissement de Rems-Murr, Baden-Württemberg, Duitsland',
text_it: 'Welzheim',
language_it: 'it',
place_name_it: 'Welzheim, circondario del Rems-Murr, Baden-Württemberg, Germania',
text_es: 'Welzheim',
language_es: 'es',
place_name_es: 'Welzheim, arrondissement de Rems-Murr, Baden-Wurtemberg, Alemania',
text_pt: 'Welzheim',
language_pt: 'pt',
place_name_pt: 'Welzheim, circondario del Rems-Murr, Baden-Württemberg, Alemanha',
text_pl: 'Welzheim',
language_pl: 'pl',
place_name_pl: 'Welzheim, Powiat Rems-Murr, Badenia-Wirtembergia, Niemcy',
text_ru: 'Вельцхайм',
language_ru: 'ru',
place_name_ru: 'Вельцхайм, Ремс-Мур, Баден-Вюртемберг, Германия',
bbox: [9.555711, 48.840845, 9.69537, 48.923906],
center: [9.634301, 48.874393],
geometry: {
type: 'Point',
coordinates: [9.634301, 48.874393],
},
context: [
{
id: 'district.2598458',
mapbox_id: 'dXJuOm1ieHBsYzpKNlk2',
wikidata: 'Q8528',
text_en: 'arrondissement de Rems-Murr',
language_en: 'fr',
text: 'arrondissement de Rems-Murr',
language: 'fr',
text_de: 'Rems-Murr-Kreis',
language_de: 'de',
text_fr: 'arrondissement de Rems-Murr',
language_fr: 'fr',
text_nl: 'arrondissement de Rems-Murr',
language_nl: 'fr',
text_it: 'circondario del Rems-Murr',
language_it: 'it',
text_es: 'arrondissement de Rems-Murr',
language_es: 'fr',
text_pt: 'circondario del Rems-Murr',
language_pt: 'it',
text_pl: 'Powiat Rems-Murr',
language_pl: 'pl',
text_ru: 'Ремс-Мур',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'region.132154',
type: 'Feature',
place_type: ['region'],
relevance: 0.703704,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
},
text_en: 'Baden-Württemberg',
language_en: 'en',
place_name_en: 'Baden-Württemberg, Germany',
text: 'Baden-Württemberg',
language: 'en',
place_name: 'Baden-Württemberg, Germany',
text_de: 'Baden-Württemberg',
language_de: 'de',
place_name_de: 'Baden-Württemberg, Deutschland',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
place_name_fr: 'Bade-Wurtemberg, Allemagne',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
place_name_nl: 'Baden-Württemberg, Duitsland',
text_it: 'Baden-Württemberg',
language_it: 'it',
place_name_it: 'Baden-Württemberg, Germania',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
place_name_es: 'Baden-Wurtemberg, Alemania',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
place_name_pt: 'Baden-Württemberg, Alemanha',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
place_name_pl: 'Badenia-Wirtembergia, Niemcy',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
place_name_ru: 'Баден-Вюртемберг, Германия',
bbox: [7.511749, 47.532404, 10.495575, 49.791327],
center: [9.180013, 48.778449],
geometry: {
type: 'Point',
coordinates: [9.180013, 48.778449],
},
context: [
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.7757118904863240',
type: 'Feature',
place_type: ['address'],
relevance: 0.67254,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6YTZkMmM2YTYtZDY3ZC00MjE1LWIyZmYtOTUwODQ4MTk3MmIz',
},
text_en: 'German-Götz-Straße',
place_name_en: 'German-Götz-Straße, 72469 Meßstetten, Germany',
text: 'German-Götz-Straße',
place_name: 'German-Götz-Straße, 72469 Meßstetten, Germany',
text_de: 'German-Götz-Straße',
place_name_de: 'German-Götz-Straße, 72469 Meßstetten, Deutschland',
text_fr: 'German-Götz-Straße',
place_name_fr: 'German-Götz-Straße, 72469 Meßstetten, Allemagne',
text_nl: 'German-Götz-Straße',
place_name_nl: 'German-Götz-Straße, 72469 Meßstetten, Duitsland',
text_it: 'German-Götz-Straße',
place_name_it: 'German-Götz-Straße, 72469 Meßstetten, Germania',
text_es: 'German-Götz-Straße',
place_name_es: 'German-Götz-Straße, 72469 Meßstetten, Alemania',
text_pt: 'German-Götz-Straße',
place_name_pt: 'German-Götz-Straße, 72469 Meßstetten, Alemanha',
text_pl: 'German-Götz-Straße',
place_name_pl: 'German-Götz-Straße, 72469 Meßstetten, Niemcy',
text_ru: 'German-Götz-Straße',
place_name_ru: 'German-Götz-Straße, 72469 Месштеттен, Германия',
center: [8.920287, 48.189669],
geometry: {
type: 'Point',
coordinates: [8.920287, 48.189669],
},
context: [
{
id: 'postcode.41586234',
mapbox_id: 'dXJuOm1ieHBsYzpBbnFPT2c',
text_en: '72469',
text: '72469',
text_de: '72469',
text_fr: '72469',
text_nl: '72469',
text_it: '72469',
text_es: '72469',
text_pt: '72469',
text_pl: '72469',
text_ru: '72469',
},
{
id: 'locality.150301242',
mapbox_id: 'dXJuOm1ieHBsYzpDUFZxT2c',
wikidata: 'Q18337859',
text_en: 'Hossingen',
language_en: 'en',
text: 'Hossingen',
language: 'en',
text_de: 'Hossingen',
language_de: 'de',
text_fr: 'Hossingen',
language_fr: 'fr',
text_nl: 'Hossingen',
language_nl: 'nl',
text_it: 'Hossingen',
language_it: 'fr',
text_es: 'Hossingen',
language_es: 'fr',
text_pt: 'Hossingen',
text_pl: 'Hossingen',
language_pl: 'nl',
text_ru: 'Hossingen',
},
{
id: 'place.50759738',
mapbox_id: 'dXJuOm1ieHBsYzpBd2FJT2c',
wikidata: 'Q515661',
text_en: 'Meßstetten',
language_en: 'en',
text: 'Meßstetten',
language: 'en',
text_de: 'Meßstetten',
language_de: 'de',
text_fr: 'Meßstetten',
language_fr: 'fr',
text_nl: 'Meßstetten',
language_nl: 'nl',
text_it: 'Meßstetten',
language_it: 'it',
text_es: 'Meßstetten',
language_es: 'es',
text_pt: 'Meßstetten',
language_pt: 'pt',
text_pl: 'Meßstetten',
language_pl: 'pl',
text_ru: 'Месштеттен',
language_ru: 'ru',
},
{
id: 'district.2795066',
mapbox_id: 'dXJuOm1ieHBsYzpLcVk2',
wikidata: 'Q8233',
text_en: 'arrondissement de Zollernalb',
language_en: 'fr',
text: 'arrondissement de Zollernalb',
language: 'fr',
text_de: 'Zollernalbkreis',
language_de: 'de',
text_fr: 'arrondissement de Zollernalb',
language_fr: 'fr',
text_nl: 'arrondissement de Zollernalb',
language_nl: 'fr',
text_it: 'circondario dello Zollernalb',
language_it: 'it',
text_es: 'arrondissement de Zollernalb',
language_es: 'fr',
text_pt: 'circondario dello Zollernalb',
language_pt: 'it',
text_pl: 'Powiat Zollernalb',
language_pl: 'pl',
text_ru: 'Цоллернальб',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.7729037509260214',
type: 'Feature',
place_type: ['address'],
relevance: 0.67254,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6ZTFhMjYyZTEtN2I4Ny00YTYxLThlYmMtNTQxYzQyYzljMzQ2',
},
text_en: 'Germanstraße',
place_name_en: 'Germanstraße, 78048 Villingen-Schwenningen, Germany',
text: 'Germanstraße',
place_name: 'Germanstraße, 78048 Villingen-Schwenningen, Germany',
text_de: 'Germanstraße',
place_name_de: 'Germanstraße, 78048 Villingen-Schwenningen, Deutschland',
text_fr: 'Germanstraße',
place_name_fr: 'Germanstraße, 78048 Villingen-Schwenningen, Allemagne',
text_nl: 'Germanstraße',
place_name_nl: 'Germanstraße, 78048 Villingen-Schwenningen, Duitsland',
text_it: 'Germanstraße',
place_name_it: 'Germanstraße, 78048 Villingen-Schwenningen, Germania',
text_es: 'Germanstraße',
place_name_es: 'Germanstraße, 78048 Villingen-Schwenningen, Alemania',
text_pt: 'Germanstraße',
place_name_pt: 'Germanstraße, 78048 Villingen-Schwenningen, Alemanha',
text_pl: 'Germanstraße',
place_name_pl: 'Germanstraße, 78048 Villingen-Schwenningen, Niemcy',
text_ru: 'Germanstraße',
place_name_ru: 'Germanstraße, 78048 Филлинген-Швеннинген, Германия',
center: [8.430963, 48.073201],
geometry: {
type: 'Point',
coordinates: [8.430963, 48.073201],
},
context: [
{
id: 'postcode.45977146',
mapbox_id: 'dXJuOm1ieHBsYzpBcjJPT2c',
text_en: '78048',
text: '78048',
text_de: '78048',
text_fr: '78048',
text_nl: '78048',
text_it: '78048',
text_es: '78048',
text_pt: '78048',
text_pl: '78048',
text_ru: '78048',
},
{
id: 'locality.351808058',
mapbox_id: 'dXJuOm1ieHBsYzpGUGdxT2c',
wikidata: 'Q47501154',
text_en: 'Villingen',
language_en: 'en',
text: 'Villingen',
language: 'en',
text_de: 'Villingen',
language_de: 'de',
text_fr: 'Villingen',
language_fr: 'nl',
text_nl: 'Villingen',
language_nl: 'nl',
text_it: 'Villingen',
language_it: 'it',
text_es: 'Villingen',
language_es: 'nl',
text_pt: 'Villingen',
language_pt: 'it',
text_pl: 'Villingen',
language_pl: 'nl',
text_ru: 'Villingen',
},
{
id: 'place.81537082',
mapbox_id: 'dXJuOm1ieHBsYzpCTndvT2c',
wikidata: 'Q3865',
text_en: 'Villingen-Schwenningen',
language_en: 'en',
text: 'Villingen-Schwenningen',
language: 'en',
text_de: 'Villingen-Schwenningen',
language_de: 'de',
text_fr: 'Villingen-Schwenningen',
language_fr: 'fr',
text_nl: 'Villingen-Schwenningen',
language_nl: 'nl',
text_it: 'Villingen-Schwenningen',
language_it: 'it',
text_es: 'Villingen-Schwenningen',
language_es: 'es',
text_pt: 'Villingen-Schwenningen',
language_pt: 'pt',
text_pl: 'Villingen-Schwenningen',
language_pl: 'pl',
text_ru: 'Филлинген-Швеннинген',
language_ru: 'ru',
},
{
id: 'district.2729530',
mapbox_id: 'dXJuOm1ieHBsYzpLYVk2',
wikidata: 'Q8203',
text_en: 'Schwarzwald-Baar district',
language_en: 'en',
text: 'Schwarzwald-Baar district',
language: 'en',
text_de: 'Schwarzwald-Baar-Kreis',
language_de: 'de',
text_fr: 'arrondissement de Forêt-Noire-Baar',
language_fr: 'fr',
text_nl: 'arrondissement de Forêt-Noire-Baar',
language_nl: 'fr',
text_it: 'circondario della Foresta Nera-Baar',
language_it: 'it',
text_es: 'arrondissement de Forêt-Noire-Baar',
language_es: 'fr',
text_pt: 'circondario della Foresta Nera-Baar',
language_pt: 'it',
text_pl: 'Powiat Schwarzwald-Baar',
language_pl: 'pl',
text_ru: 'Шварцвальд-Бар',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'place.85002298',
type: 'Feature',
place_type: ['place'],
relevance: 0.574074,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpCUkVJT2c',
wikidata: 'Q509998',
},
text_en: 'Wellheim',
language_en: 'en',
place_name_en: "Wellheim, arrondissement d'Eichstätt, Bavaria, Germany",
text: 'Wellheim',
language: 'en',
place_name: "Wellheim, arrondissement d'Eichstätt, Bavaria, Germany",
text_de: 'Wellheim',
language_de: 'de',
place_name_de: 'Wellheim, Kreis Eichstätt, Bayern, Deutschland',
text_fr: 'Wellheim',
language_fr: 'fr',
place_name_fr: "Wellheim, arrondissement d'Eichstätt, Bavière, Allemagne",
text_nl: 'Wellheim',
language_nl: 'nl',
place_name_nl: 'Wellheim, Landkreis Eichstätt, Beieren, Duitsland',
text_it: 'Wellheim',
language_it: 'it',
place_name_it: 'Wellheim, circondario di Eichstätt, Baviera, Germania',
text_es: 'Wellheim',
language_es: 'es',
place_name_es: "Wellheim, arrondissement d'Eichstätt, Baviera, Alemania",
text_pt: 'Wellheim',
language_pt: 'pt',
place_name_pt: 'Wellheim, circondario di Eichstätt, Baviera, Alemanha',
text_pl: 'Wellheim',
language_pl: 'pl',
place_name_pl: 'Wellheim, Powiat Eichstätt, Bawaria, Niemcy',
text_ru: 'Велльхайм',
language_ru: 'ru',
place_name_ru: 'Велльхайм, Айхштет, Бавария, Германия',
bbox: [11.032347, 48.79008, 11.173361, 48.846386],
center: [11.080854, 48.817787],
geometry: {
type: 'Point',
coordinates: [11.080854, 48.817787],
},
context: [
{
id: 'district.460346',
mapbox_id: 'dXJuOm1ieHBsYzpCd1k2',
wikidata: 'Q10491',
text_en: "arrondissement d'Eichstätt",
language_en: 'fr',
text: "arrondissement d'Eichstätt",
language: 'fr',
text_de: 'Kreis Eichstätt',
language_de: 'de',
text_fr: "arrondissement d'Eichstätt",
language_fr: 'fr',
text_nl: 'Landkreis Eichstätt',
language_nl: 'nl',
text_it: 'circondario di Eichstätt',
language_it: 'it',
text_es: "arrondissement d'Eichstätt",
language_es: 'fr',
text_pt: 'circondario di Eichstätt',
language_pt: 'it',
text_pl: 'Powiat Eichstätt',
language_pl: 'pl',
text_ru: 'Айхштет',
language_ru: 'ru',
},
{
id: 'region.123962',
mapbox_id: 'dXJuOm1ieHBsYzpBZVE2',
wikidata: 'Q980',
short_code: 'DE-BY',
text_en: 'Bavaria',
language_en: 'en',
text: 'Bavaria',
language: 'en',
text_de: 'Bayern',
language_de: 'de',
text_fr: 'Bavière',
language_fr: 'fr',
text_nl: 'Beieren',
language_nl: 'nl',
text_it: 'Baviera',
language_it: 'it',
text_es: 'Baviera',
language_es: 'es',
text_pt: 'Baviera',
language_pt: 'pt',
text_pl: 'Bawaria',
language_pl: 'pl',
text_ru: 'Бавария',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}

View File

@ -19,8 +19,7 @@ export const TEST_CONFIG = {
GRAPHQL_URI: 'http://localhost:4000',
JWT_EXPIRES: '2y',
MAPBOX_TOKEN:
'pk.eyJ1IjoiYnVzZmFrdG9yIiwiYSI6ImNraDNiM3JxcDBhaWQydG1uczhpZWtpOW4ifQ.7TNRTO-o9aK1Y6MyW_Nd4g',
MAPBOX_TOKEN: 'MAPBOX_TOKEN',
JWT_SECRET: 'JWT_SECRET',
PRIVATE_KEY_PASSPHRASE: 'PRIVATE_KEY_PASSPHRASE',
@ -61,22 +60,28 @@ interface OverwritableContextParams {
authenticatedUser?: Context['user']
config?: Partial<typeof CONFIG>
pubsub?: Context['pubsub']
fetch?: Context['fetch']
}
interface CreateTestServerOptions {
context: () => OverwritableContextParams | Promise<OverwritableContextParams>
}
const crash = () => {
throw new Error('Mock me in your test!')
}
export const createApolloTestSetup = (opts?: CreateTestServerOptions) => {
const defaultOpts: CreateTestServerOptions = { context: () => ({ authenticatedUser: null }) }
const { context: testContext } = opts ?? defaultOpts
const database = databaseContext()
const context = async (req: { headers: { authorization?: string } }) => {
const { authenticatedUser, config = {}, pubsub } = await testContext()
const { authenticatedUser, config = {}, pubsub, fetch = crash } = await testContext()
return getContext({
authenticatedUser,
database,
pubsub,
config: { ...TEST_CONFIG, ...config },
fetch,
})(req)
}