Ich überprüfte Stackoverflow und viele andere Seiten, um eine Javascript (oder JQuery) -Lösung zu finden, die mir sagt, ob ein Benutzer (mit seiner aktuellen GPS-Position) innerhalb oder außerhalb eines vordefinierten Rechtecks ist auf einer Karte. Es gibt viele Lösungen für Kreise und Quadrate, aber ich kann keine Lösung für Rechtecke finden. Ferner darf das Rechteck nicht parallel zu z. Der Equator. Es kann jeden möglichen Winkel dazu haben. Welcher Parameter des Rechtecks wird für die Berechnung von innen/außen benötigt? Kennt jemand eine Javascript-Lösung, um dieses Problem zu lösen?JavaScript-Lösung für Benutzer innerhalb oder außerhalb eines Rechtecks
0
A
Antwort
1
Um zu wissen, ob ein Punkt innerhalb eines Rechtecks in einem 2D-Plan ist, was Sie brauchen:
- die Position eines Punktes des Rechtecks: X0, Y0;
- der Winkel, den das Rechteck mit der horizontalen Achse bildet: a;
- die Länge der ersten Seite: L1;
- die Länge der zweiten Seite: L2.
ein Punkt (X, Y) innerhalb des Rechtecks, wenn:
- 0> = (X-X0) * cos (a) - (Y-Y0) * sin (a)> = L1
- 0> = (X-X0) * sin (a) + (Y-Y0) * cos (a)> = L2
Oder in JavaScript:
function isInRectangle(x, y, x0, y0, a, l1, l2) {
var v1 = (x-x0)*Math.cos(a) - (y-y0)*Math.sin(a);
var v2 = (x-x0)*Math.sin(a) + (y-y0)*Math.cos(a);
return v1 >= 0 && v1 <= l1 && v2 >= 0 && v2 <= l2;
}
es zu benutzen:
var p = {x: /*user longitude*/, y: /*user latitude*/};
var p0 = {x: /*rect longitude*/, y: /*rect latitude*/};
var a = /*angle of the rect in rad*/;
var l1 = /*length of one side of the rectangle*/
var l2 = /*length of the second size*/
isInRectangle(p.x, p.y, p0.x, p0.y, a, l1, l2); // => return true if inside, false otherwise
Verwandte Themen
- 1. Wie erzeugt man zufällige Punkte außerhalb eines Rechtecks?
- 2. Google oder andere Karten-Tracking innerhalb oder außerhalb eines Gebäudes
- 3. Leaflet :: Wie man den Punkt innerhalb/außerhalb des Polygons oder Rechtecks überprüft
- 4. Zeichnen eines gedrehten Rechtecks
- 5. Sollte ich ein Element außerhalb oder innerhalb eines Hauptelements haben?
- 6. Vorbereitete Aussage innerhalb oder außerhalb eines Versuchs/Cach?
- 7. Dynamische Schriftgröße zum Zeichnen von Zeichenfolgen innerhalb eines Rechtecks
- 8. C# Winforms. Text genau zentrisch innerhalb eines Rechtecks zeichnen
- 9. Schneller Algorithmus zum Auffinden aller Punkte innerhalb eines Rechtecks
- 10. Suchen und Ersetzen innerhalb eines Rechtecks in Emacs
- 11. Animieren Opazität von ImageBrush innerhalb eines Rechtecks in XAML
- 12. Silex - Zugriff für Benutzer außerhalb eines gesicherten Bereichs
- 13. Hinzufügen eines Rechtecks zu ListBox
- 14. C++/OpenGL - Drehen eines Rechtecks
- 15. Mitglied Initialisierung innerhalb oder außerhalb des Konstruktors
- 16. Zentrieren eines Rechtecks in JFrame
- 17. Zeichnen eines Rechtecks in UIView
- 18. Datendarstellung der Partition eines Rechtecks?
- 19. Sierpinski Teppich - Fläche eines Rechtecks
- 20. Swift 3: Zeichnen eines Rechtecks
- 21. D3.js - Erstellen eines Rechtecks?
- 22. Zeichnen eines Rechtecks in AS3, der Rahmen ist teilweise außerhalb des Bildschirms
- 23. Beschränken Sie das Rechteck innerhalb des Rechtecks
- 24. Ist ein Punkt innerhalb oder außerhalb eines Polygons, der sich auf der Oberfläche eines Globus befindet?
- 25. Unterschiede zwischen "Verwendung" (Import) innerhalb oder außerhalb von "Namespace"?
- 26. Wie wird Multibinding.StringFormat für die Fill-Eigenschaft eines Rechtecks verwendet?
- 27. Drehen eines Rechtecks (kein Bild) in Pygame
- 28. Anzahl der Punkte innerhalb einer Gruppe außerhalb eines Schwellenwerts suchen
- 29. Zeichnen eines Rechtecks in Smalltalk Squeak
- 30. Tweening eines gerundeten Rechtecks in Actionscript 3
Wow, ausgezeichnet, sehr gut lesbar, danke! Ich werde es verwenden und es in meinem Projekt praktikabel machen. – Jonny
Gefunden eine hervorragende Bibliothek tun alles, was Sie wissen wollen/tun mit Bereichen: http://turfjs.org – Jonny