> For the complete documentation index, see [llms.txt](https://docs.ninox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ninox.com/ninox-scripting/de/automate-your-workflows/work-with-functions/location-and-devices.md).

# Standort und Geräte

Mit Standort- und URL-Funktionen arbeiten deine Skripte mit Standortwerten und URLs.

In diesem Kapitel lernst du, wie du:

* Standortwerte erstellst.
* Aktionen an das Gerät übergibst.
* URL-Teile sicher kodierst und dekodierst.

<table><thead><tr><th width="197.16015625">Funktion (A-Z)</th><th>Aufgabe</th></tr></thead><tbody><tr><td><code>latitude()</code></td><td>Gibt den Breitengrad aus einem Standortwert zurück</td></tr><tr><td><code>location()</code></td><td>Gibt einen Standortwert aus Titel und Koordinaten zurück</td></tr><tr><td><code>longitude()</code></td><td>Gibt den Längengrad aus einem Standortwert zurück</td></tr><tr><td><code>openURL()</code></td><td>Öffnet einen Website- oder anderen Link</td></tr><tr><td><code>phone()</code></td><td>Gibt einen Telefonwert mit Anrufaktion zurück</td></tr><tr><td><code>url()</code></td><td>Gibt einen Linkwert aus Text oder Query-Daten zurück</td></tr><tr><td><code>urlDecode()</code></td><td>Dekodiert URL-kodierten Text</td></tr><tr><td><code>urlEncode()</code></td><td>Kodiert Text für die sichere Nutzung in URLs</td></tr></tbody></table>

## Mit Standortwerten arbeiten

Nutze diese Funktionen, wenn du mit einem Standortwert arbeiten oder Koordinaten an einen anderen Dienst übergeben willst.

### Mit einem Standortwert arbeiten <a href="#create-a-location-value" id="create-a-location-value"></a>

Nutze `location()`, wenn du einen Standortwert aus Titel, Breitengrad und Längengrad erstellen willst.

Nutze es, wenn du:

* Koordinaten in einem Standortfeld speichern willst.
* einen Titel und Koordinaten in einem Wert zusammenhalten willst.
* einen Standortwert an ein anderes Feld oder eine andere Funktion übergeben willst.

`location(string, number, number)`

* `string` der Titel für den Standort
* erstes `number` der Breitengrad
* zweites `number` der Längengrad

`location()` gibt einen Standortwert zurück.

Tipps:

* Nutze einen klaren Titel, damit Nutzer den gespeicherten Standort leicht erkennen.

#### Schauen wir uns einige Beispiele an:

```ninox
address := location("Ninox Office", 52.5235175, 13.3989201)
```

Speichert den Standort mit den angegebenen Koordinaten im Standortfeld `address`.

### Mit phone() einen Anruf starten

Nutze `phone()`, um einen Wert in einen Telefonwert umzuwandeln, so dass du ihn direkt aus der Ninox app anrufen kannst.

Nutze die Funktion, wenn du:

* Kopieren und Einfügen vermeiden willst.
* ein Logikfeld als anrufbares Telefonfeld anzeigen willst.
* eine Telefonnummer aus Text extrahieren und anrufbar machen willst.

`phone(number)`, `phone(string)`

* `number` Zahlenwert, den du als Telefonnummer verwenden willst
* `string` Textwert für Telefonnummern mit `+`, führenden Nullen oder Leerzeichen

`phone()` gibt einen Telefonwert zurück.

{% hint style="info" %}
Klicke rechts im Feld auf <i class="fa-phone">:phone:</i> oder auf einen **Button**, der die Funkion enthält. Ninox öffnet die Standard-Telefon-App deines Geräts.
{% endhint %}

#### Schauen wir uns einige Beispiele an:

```ninox
phone("+49 30 321 4554")
```

Zeigt den Text als Telefonnummer an. Nutzer können auf unterstützten Clients einen Anruf starten.

```ninox
phone(911)
```

Zeigt `911` als Telefonwert mit Anrufaktion an.

```ninox
phone(extractx(message, "\\+(\\d|\\s)+\\d"))
```

Extrahiert eine Telefonnummer aus `message` und zeigt sie als anrufbaren Telefonwert an.

Tipps:

* Die Anruffunktion hängt vom Client und Gerät ab.
* Ninox prüft nicht, ob der übergebene Wert eine echte Telefonnummer ist.
* Formatiere Telefonnummern korrekt. Sonst kann der Anruf einen Fehler auslösen.
* Die Funktion ist nützlich, um Telefonnummern aus längeren Texten zu extrahieren.

## Links öffnen und Geräteaktionen starten

Nutze diese Funktionen, wenn ein Skript Arbeit an das Gerät, den Browser oder eine andere App übergeben soll.

### Eine Website oder einen Link mit `openURL()` öffnen <a href="#open-a-url-with-openurl" id="open-a-url-with-openurl"></a>

Nutze `openURL()`, um eine URL direkt zu öffnen.

Nutze die Funktion, wenn du:

* eine Website über eine Schaltfläche öffnen möchtest.
* Nutzer zu einem Download-Link führen möchtest.
* einen aus deinen Daten erzeugten String in einen gültigen Link umwandeln und öffnen möchtest.

`openURL(string)`

* `string` die URL, die du öffnen möchtest

`openURL()` gibt keinen Wert zurück.

#### Beispiele

```ninox
openURL("https://ninox.com")
```

Öffnet die Ninox-Website.

```ninox
openURL("https://google.de/maps/place/ + strasse + ", " + plz + " " + ort ")
```

Öffnet Google Maps und zeigt den Standort aus den Feldern „Straße“, „PLZ“ und „Ort“ des aktuellen Datensatzes.

Tipps:

* `openURL()` läuft nur auf dem Client.
* Erstelle die vollständige URL, bevor du sie öffnest.
* Die Funktion kodiert den String als gültigen Link.
* Nutze `urlEncode()` für dynamische Abfragewerte.

### Einen URL-Wert zurückgeben <a href="#create-and-decode-urls" id="create-and-decode-urls"></a>

Nutze `url()`, wenn du eine URL als Datenwert brauchst, statt sie sofort zu öffnen.

Nutze es, wenn du:

* einen Link in einem Feld oder einer Variable speichern willst.
* einen erzeugten Link in einem späteren Skriptschritt wiederverwenden willst.
* eine URL an eine andere Funktion übergeben willst.
* URL-kodierte Query-Werte aus einem JSON-Objekt hinzufügen willst.

`url(any)`\
`url(any, JSON)`

* `any` der Wert, den du in einen Link umwandeln willst
* `JSON` optionale Query-Werte, die URL-kodiert angehängt werden

`url()` gibt einen Linkwert zurück.

#### Schauen wir uns einige Beispiele an:

```ninox
url("https://ninox.com")
```

Zeigt die Ninox Website als Linkwert mit einer Internet-Schaltfläche an.

```ninox
url("https://ninox.com", {Name: "Max Mustermann"})
```

Gibt `https://ninox.com?Name=Max%20Mustermann` zurück.

Tipps:

* Ninox prüft nicht, ob der übergebene Wert eine gültige URL ist.
* Nutze das JSON-Argument, wenn du Query-Werte sicher anhängen willst.
* Nutze `url()`, wenn du den Link als Wert brauchst.
* Nutze `openURL()`, wenn du den Link sofort öffnen willst.

## URL-Teile kodieren und dekodieren

Nutze diese Funktionen, wenn Text sicher innerhalb einer URL übertragen werden soll.

### Text kodieren

Nutze `urlEncode()`, um Text in eine URL-sichere Form umzuwandeln.

Nutze es, wenn du:

* Nutzereingaben in einen Query-String setzen willst.
* sichere Such- oder API-URLs bauen willst.
* defekte Links durch Leerzeichen oder Sonderzeichen vermeiden willst.
* normalen Text in URL-konformen Text umwandeln willst.

`urlEncode(string)`

* `string` der Text, den du für die sichere Nutzung in einer URL kodieren willst

`urlEncode()` gibt einen String zurück.

#### Schauen wir uns einige Beispiele an:

```ninox
urlEncode("hello world")
```

Gibt `hello%20world` zurück.

```ninox
"https://ninox.com?Name=" + urlEncode("Jane Doe")
```

Gibt `https://ninox.com?Name=Jane%20Doe` zurück.

Tipps:

* Kodiere dynamische Werte, nicht die komplette URL-Struktur.
* Das ist besonders nützlich für Suchbegriffe und API-Parameter.

### Text dekodieren

Nutze `urlDecode()`, um URL-kodierten Text wieder in normalen Text umzuwandeln.

Nutze es, wenn du:

* kodierte Query-Werte lesen willst.
* gespeicherte URL-Teile als Klartext anzeigen willst.
* eine frühere Kodierung rückgängig machen willst.
* URL-konformen Text in lesbaren Text umwandeln willst.

`urlDecode(string)`

* `string` der kodierte URL-Text, den du dekodieren willst

`urlDecode()` gibt einen String zurück.

#### Schauen wir uns einige Beispiele an:

```ninox
urlDecode("hello%20world")
```

Gibt `hello world` zurück.

```ninox
urlDecode("https://ninox.com?Name=Jane%20Doe")
```

Gibt `https://ninox.com?Name=Jane Doe` zurück.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ninox.com/ninox-scripting/de/automate-your-workflows/work-with-functions/location-and-devices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
