Ermitteln, ob der Punkt innerhalb des Begrenzungsrahmens ist

8

Wie würden Sie feststellen, ob ein bestimmter Punkt innerhalb des Begrenzungsrahmens liegt?

Mein Punkt ist 48.847172, 2.386597.

Boundingbox:

%Vor%     
viniciusmo 18.08.2013, 04:56
quelle

5 Antworten

19

Machen Sie wie immer:

%Vor%

bb ist die Begrenzungsbox, (ix,iy) sind die Koordinaten oben links und (ax,ay) sind die Koordinaten unten rechts. p ist der Punkt und (x,y) seine Koordinaten.

    
Mario Rossi 18.08.2013, 04:59
quelle
4

Diese Lösung berücksichtigt auch einen Fall, in dem die Benutzeroberfläche eine Box sendet, die Längengrad 180 / -180 kreuzt (Kartenansichten auf niedriger Zoomstufe, wo Sie die ganze Welt sehen können, unbegrenztes zyklisches horizontales Scrollen erlauben, so ist es möglich zum Beispiel, dass eine Box's bottomLeft.lng = 170 während topRight.lng = -170 (= 190) und damit einen Bereich von 20 Grad.

%Vor%     
kumetix 27.04.2015 10:56
quelle
4

Wenn Sie eine Broschüre verwenden, können Sie eine neue LatLngBounds erstellen und die Operation contains() verwenden:

%Vor%     
psychicsaint 22.07.2015 16:31
quelle
2

Es gibt ziemlich nützliche Hilfsmethoden für CGRect und CGPoint (vorausgesetzt, dass es Ihnen nichts ausmacht, dass sie CGFloat zum Speichern von Koordinaten verwenden - und wenn Sie Ihre Werte betrachten, tun Sie das nicht :-)).

Du kannst es so machen:

%Vor%     
deekay 18.08.2013 09:32
quelle
0

Verwenden Sie diese Funktion für c plus plus, um zu prüfen, ob ein Punkt in einem Rechteck endet

%Vor%     
Juggernogger93 05.11.2015 08:11
quelle