Muszę znaleźć środek ciężkości (lub punkt etykiety) dla wielokątów o nieregularnym kształcie w Mapach Google. Pokazuję InfoWindows dla paczek i potrzebuję miejsca do zakotwiczenia InfoWindow, które na pewno będzie na powierzchni. Zobacz zdjęcia poniżej.
W rzeczywistości nie potrzebuję niczego konkretnego w Mapach Google, tylko szukam pomysłu, jak automatycznie znaleźć ten punkt.
Moim pierwszym pomysłem było znalezienie „fałszywego” centroidu, biorąc średnie łaty i lngs i losowo umieszczając stamtąd punkty, aż znajdę taki, który przecina wielokąt. Mam już kod punktu w wielokącie. To po prostu wydaje mi się okropnie „hacky”.
Powinienem zauważyć, że nie mam dostępu do żadnego kodu po stronie serwera, który wyprowadza geometrię, więc nie mogę zrobić czegoś takiego jak ST_PointOnSurface (the_geom).