SVG-εικόνες χαρτών
Το /v1/render/* επιστρέφει έναν χάρτη ως έτοιμο SVG: τροχό γέννησης, διπλό και τριπλό τροχό, σύνθετο, βεδικούς χάρτες (βόρειο, νότιο, ανατολικό), πλέγμα όψεων, κοσμόγραμμα, φάση Σελήνης, χρονοδιάγραμμα, βιορυθμούς, ζώνη έκλειψης και αστρικό χάρτη. Εσύ στέλνεις τα δεδομένα γέννησης, εμείς υπολογίζουμε τον χάρτη και τον σχεδιάζουμε. Πλήρης λίστα διαδρομών και παραμέτρων στο εγχειρίδιο API.
Ο ίδιος κώδικας σχεδίασης έχει δημοσιευτεί ως πακέτο npm @astroway/render: αν έχεις ήδη τα δεδομένα του χάρτη, ο τροχός μπορεί να σχεδιαστεί στον browser ή στον δικό σου server, και θα είναι πανομοιότυπος με αυτόν που επιστρέφει το API, byte προς byte. Η έκδοση σχεδίασης του API επιστρέφεται στην κεφαλίδα X-Render-Version.
curl -X POST https://api.astroway.info/v1/render/wheel-western \ -H "X-Api-Key: $ASTROWAY_KEY" -H "Content-Type: application/json" \ -d '{"date":"1990-05-15","time":"14:30:00","timezoneOffset":3,"latitude":50.45,"longitude":30.52, "options":{"theme":"css","format":"svg"}}' > wheel.svgΤο format: "svg" επιστρέφει το ίδιο το αρχείο, το προεπιλεγμένο json τυλίγει τη συμβολοσειρά SVG σε μια τυπική απάντηση API. Θέματα: light, dark, console και css.
Θέμα css: τα χρώματα του ιστότοπού σου
Ενότητα με τίτλο «Θέμα css: τα χρώματα του ιστότοπού σου»Με το theme: "css", κάθε χρώμα στο SVG καταγράφεται ως μεταβλητή CSS με το χρώμα του φωτεινού θέματος ως εφεδρικό, για παράδειγμα var(--aw-ring, #222). Εισήγαγε το SVG στο HTML της σελίδας (όχι σε <img>: οι μεταβλητές δεν περνούν εκεί) και όρισε τις μεταβλητές:
.chart { --aw-chart-bg: transparent; --aw-ring: #444; --aw-fg: currentColor; --aw-aspect-tense: crimson;}Χωρίς καμία μεταβλητή, ο χάρτης μοιάζει ακριβώς με το light. Ο κανόνας CSS της σελίδας σου είναι ισχυρότερος από τη μεταβλητή, οπότε ένα μεμονωμένο στοιχείο μπορεί να επαναχρωματιστεί με μια κλάση.
| Μεταβλητή | Τι χρωματίζει |
|---|---|
--aw-chart-bg | φόντο χάρτη |
--aw-fg, --aw-muted | γλύφους και ετικέτες, δευτερεύον κείμενο και διαχωριστικά |
--aw-ring | κύκλους και γραμμές πλέγματος |
--aw-houses-fill | πεδίο βεδικού χάρτη, δίσκο αστρικού χάρτη, χάρτη έκλειψης |
--aw-benefic | πλανήτες εξωτερικού κύκλου, λάγνα σε βεδικό χάρτη, γεγονότα χρονοδιαγράμματος χωρίς δικό τους χρώμα |
--aw-malefic | σύμβολο αναδρομής ℞, ζώνη έκλειψης |
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintile | γραμμές και σύμβολα όψεων |
--aw-moon-shadow, --aw-moon-light | φάση Σελήνης |
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectual | βιορυθμούς |
Κλάσεις και data-attributes
Ενότητα με τίτλο «Κλάσεις και data-attributes»Στο θέμα css, οι δυτικοί τροχοί (wheel-western, bi-wheel, tri-wheel, composite) και το πλέγμα όψεων έχουν σταθερές κλάσεις. Τα ονόματα μόνο προστίθενται, ποτέ δεν μετονομάζονται, οπότε μπορείς να γράψεις στυλ και scripts πάνω τους.
- Τροχός:
aw-bg,aw-ring,aw-sign aw-sign-leo,aw-sign-line,aw-tick,aw-house-cusp,aw-house-number, άξονεςaw-axis aw-asc(aw-dsc,aw-mc,aw-ic), οι ετικέτες τουςaw-label aw-axis-label, τίτλοςaw-title. - Πλανήτης: ομάδα
<g class="aw-planet aw-planet-sun">, ο ανάδρομος έχει επιπλέονaw-retrograde, οι πλανήτες του εξωτερικού κύκλουaw-layer-1. Εσωτερικάaw-glyph,aw-retro(σύμβολο ℞) καιaw-planet-tick. - Όψη: γραμμή
aw-aspect aw-aspect-trine, γραμμή μεταξύ δύο χαρτών επιπλέονaw-cross-aspect. - Πλέγμα όψεων:
aw-grid-header,aw-grid-cell,aw-aspect aw-aspect-square,aw-orb.
Η ομάδα του πλανήτη έχει data-planet (sun, north-node, lilith· στον εξωτερικό κύκλο b-sun, στον τρίτο c-sun) και data-label με το όνομα και τη θέση: Mercury 8°00' Taurus, retrograde. Η γραμμή όψης και το κελί του πλέγματος έχουν data-a και data-b. Έτσι επισημαίνονται όλες οι όψεις του πλανήτη κατά την επικάλυψη:
svg.querySelectorAll('.aw-planet').forEach((g) => g.addEventListener('mouseenter', () => { const id = g.dataset.planet; svg.querySelectorAll('.aw-aspect').forEach((line) => line.classList.toggle('is-on', line.dataset.a === id || line.dataset.b === id));}));Οι δικές σου ετικέτες: labels
Ενότητα με τίτλο «Οι δικές σου ετικέτες: labels»Οι δυτικοί τροχοί δέχονται options.labels: τις δικές σου λέξεις για τις ετικέτες των αξόνων, για τα <title> και <desc>, τα οποία διαβάζουν οι αναγνώστες οθόνης, και για τα ονόματα στο data-label. Τα κλειδιά που λείπουν παραμένουν στα αγγλικά· εμείς οι ίδιοι δεν μεταφράζουμε τίποτα.
"options": { "theme": "css", "labels": { "asc": "Асц", "mc": "МС", "title": "Натальна карта", "bodies": { "Sun": "Сонце", "Moon": "Місяць" }, "signs": ["Овен","Телець","Близнюки","Рак","Лев","Діва","Терези","Скорпіон","Стрілець","Козеріг","Водолій","Риби"], "retrograde": "ретроградний" }}Το bodies έχει κλειδιά στα αγγλικά (Sun, North Node), το signs είναι ακριβώς δώδεκα ονόματα, ξεκινώντας από τον Κριό, κάθε ετικέτα έως 40 χαρακτήρες.
Όψεις μεταξύ δύο χαρτών
Ενότητα με τίτλο «Όψεις μεταξύ δύο χαρτών»Το /v1/render/bi-wheel με options.crossAspects: true σχεδιάζει με διακεκομμένη γραμμή τις όψεις μεταξύ του εσωτερικού και του εξωτερικού χάρτη, το ίδιο σύνολο που επιστρέφει το POST /v1/synastry ως crossAspects. Ένα ζεύγος όπου ένα από τα σώματα δεν έχει σχεδιαστεί παραλείπεται. Προεπιλεγμένα απενεργοποιημένο.
Έτοιμος χάρτης αντί δεδομένων γέννησης
Ενότητα με τίτλο «Έτοιμος χάρτης αντί δεδομένων γέννησης»Αν έχεις ήδη τον χάρτη, επειδή μόλις κάλεσες το POST /v1/chart, στείλε τα data του στο πεδίο chart αντί για τα δεδομένα γέννησης, και εμείς απλώς θα τον σχεδιάσουμε. Έτσι λειτουργούν τα wheel-western, aspect-grid και bi-wheel (εκεί natal.chart και outer.chart, και οι δύο πρέπει να είναι έτοιμοι χάρτες). Η εικόνα θα είναι byte προς byte ίδια με αυτή που προκύπτει από τα δεδομένα γέννησης.
{ "chart": { "planets": [ ... ], "houses": { "cusps": [ ... ], "ascendant": 7.77, "mc": 277.12 }, "aspects": [ ... ] }, "options": { "theme": "css" } }Τα επιπλέον πεδία της απάντησης δεν χρειάζεται να αφαιρεθούν. Ελέγχεται αυτό που σχεδιάζεται: από 1 έως 30 σώματα, γεωγραφικά μήκη από 0 έως 360, ακριβώς 12 ακμές οίκων. Ένα σώμα όπου υπάρχουν και chart και δεδομένα γέννησης απορρίπτεται με 400.
Η κλήση /v1/render/* με δεδομένα γέννησης κοστίζει 10 credits, επειδή ο χάρτης υπολογίζεται. Με έναν έτοιμο χάρτη chart, οι κλήσεις /v1/render/wheel-western, /v1/render/aspect-grid και /v1/render/bi-wheel κοστίζουν 1 credit. Το θέμα, οι κλάσεις και οι ετικέτες δεν επηρεάζουν την τιμή.