Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Google maps][API] Polilinie z wypełnieniem
Forum PHP.pl > Forum > Po stronie przeglądarki
microh
Witam!

Załóżmy, ze mam współrzędne każdego z punktów wielokąta na mapie narysowanego za pomocą polilini z wypełnieniem.

I teraz daje użytkownikowi możliwość narysowania własnego, ale pod warunkiem ze nie będą się przecinały. Tzn, że żaden z wierzchołków figury narysowanej przez usera nie może leżeć w środku zdefiniowanego wcześniej wielokąta.


Może mi ktoś podpowiedzieć troszeczkę? Chociażby ze strony matematycznej jak to by wyglądało.
mosqi83
Jeżeli wierzchołki wielokąta narysowanego przez użytkownika nie mogą leżeć wewnątrz wielokąta bazowego to wystarczy przechwytywać zdarzenie click. Jeśli użytkownik kliknie w niego to po prostu nie pozwolić na rysowanie.

Jeżeli nie mają mieć części wspólnej to już trudniej. Matematyka pewnie będzie skomplikowana, bo trzeba by uwzględnić krzywiznę kuli Ziemskiej.
Można by pokombinować w tym kierunku, żeby sprawdzać, czy kolejne rysowane linie przez użytkownika przecinają się z którymś z boków wielokąta.
Pozostałby jeszcze przypadek, że narysowany wielokąt będzie w sobie zawierał wielokąt początkowy. Wtedy by można pomyśleć o getBounds(), ale to by już było za dużo kombinowania.

W nowszych wersjach Google Maps API prawdopodobnie tego typu metody sprawdzające zostaną zaimplementowane.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.