API/v1/event_details

Aus Guild Wars 2 Wiki
< API‎ | v1
Wechseln zu: Navigation, Suche
Fehlende Informationen: genaue Angaben über "rotation"
/v1/event_details.json
HTTP-Methode
GET
Format
JSON
API-Version
Version 1


Gibt detaillierte Ortsinformationen (kein Status) über Events zurück.

Parameter[Bearbeiten]

Optionale Parameter
  • lang – Sprachenkürzel: de, en, es, fr (Standard: en)
  • event_id – eine Event-ID

Antwort[Bearbeiten]

Die Antwort besteht aus einem einzelnen Objekt events, welches Objekte der event_id zugeordnet enthält:

  • name (string) – lokalisierter Name
  • level (number) – Stufe des Events
  • map_id (number) – die Karte, auf welcher das Event stattfindet
  • flags (array) – eine Liste möglicher Flags:
  • location (object) – der Ort oder Bereich auf der Karte, an dem das Event stattfindet
    • type (string) – der Typ des Ortes, kann sphere, cylinder oder poly sein
    • center (array) - die Koordinaten in X, Y und Z des Mittelpunktes bzw. Startpunktes im Falle von poly
    • radius (number) - der Radius des Körpers (nur im Falle von sphere und cylinder)
    • rotation (number) -
    • z_range (array) - enthält den niedrigsten und höchsten Z-Wert (nur im Falle von poly)
    • points (array) - ein Array von X/Y-Koordinaten, welche der Verlauf der Polylinie wiedergeben (nur im Falle von poly)

Beispiel[Bearbeiten]

https://api.guildwars2.com/v1/event_details.json?event_id=AFCF031A-F71D-4CEA-85E1-957179414B25&lang=de

{
  "events": {
    "AFCF031A-F71D-4CEA-85E1-957179414B25": {
      "name": "Treibt die Kreaturen der Unterwelt zurück, indem Ihr Portale im Taminn-Vorgebirge zerstört.",
      "level": 14,
      "map_id": 15,
      "flags": [],
      "location": {
        "type": "sphere",
        "center": [28953.8, -20336.8, -2033.17],
        "radius": 2675.42,
        "rotation": 0
      }
    }
  }
}

Codebeispiel[Bearbeiten]

Da die Umrechnung der Koordinaten in X und Y vom Koordinatensystem der Karte ins Weltkoordinatensystem immer mal wieder Fragen aufwirft, hier ein Codebeispiel in Javascript (mehr dazu auch im offiziellen Forum):

function recalc_coords(continent_rect, map_rect, coords){
	return [
		Math.round(continent_rect[0][0]+(continent_rect[1][0]-continent_rect[0][0])*(coords[0]-map_rect[0][0])/(map_rect[1][0]-map_rect[0][0])),
		Math.round(continent_rect[0][1]+(continent_rect[1][1]-continent_rect[0][1])*(1-(coords[1]-map_rect[0][1])/(map_rect[1][1]-map_rect[0][1])))
	]
}