Pewne jest że masz dużo racji w tym co piszesz. Jednak moja świadomość kodowania jest jeszcze zbyt niska by to zrobić tak jak piszesz.
Próbowałem to wyprowadzić poza pętle i za każdym razem kończyło się to tym że dopiero po odświeżeniu strony ręcznie aktualizowały się znaczniki.
Dla mnie i tak sukces jest wprowadzenie rozwiązań które wg. wielu opinii nie mają prawa zaistnieć we współdziałaniu z api google maps (a raczej wymagają głębszej wiedzy niż posiadam).
Co do umiejscowienia znaczników. Chodzi raczej o piksele względem pozycji oryginalnej ponieważ w wypadku zmiany współrzędnych geograficznych automatycznie hexagony mi wariują.
Próbowałem z anchor:
var icon_p = {
url: icon_m,
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(7, 9),
labelOrigin: new google.maps.Point(0,0)
};
Działa. Jednak tylko na znaczniki już będące na mapie po wejściu na stronę. W czasie rzeczywistym po wykonaniu działania utworzenia nowego znacznika pojawia się on na oryginalnym położeniu bez uwzględnienia anchor. Dopiero po odświeżeniu strony jest na miejscu które wskazuje anchor.