Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: google maps - cache współrzędnych
Forum PHP.pl > Forum > PHP
bialko0019
Cześć, słuchajcie mam problem.

Jest portal, w którym są ogłoszenia, i każde ogłoszenie ma swój adres. Podczas dodawania ogloszenia można podać adres, i dzięki temu dopasują się współrzędne geograficzne. Jeśli wprowadzony adres jest zły - pinezkę można przesunąć, dzięki czemu współrzędne są dokładniejsze. Mam problem, ponieważ Google nie zezwala na trzymanie dłużej jak 30dni w cache współrzędnych, ale jest taki myk, że można po 30dniach je usunąć, i pobrać na nowo. Tylko chciałbym to zautomatyzować - jak to zrobić?

Mógłbym to zrobić cronem, który by to sprawdzał, usuwał i zaraz przypisywał nowe, ale jak przypisać nowe - jeśli przypiszę na podstawie adresu, to je jeśli ktoś zmienił lokalizację pinezki, to nowe współrzędne wgrają się z drobnym błędem, albo np. adres nie został znaleziony i ktoś ręcznie pinezką zmienił położenie to tak samo... Drugim wyjście myślałem, by przed usunięciem (np. 25dni) dostać info na maila, wejść na na ogłoszenie i ułożyć tak samo pinezkę jak starą i zapisać. No ale jeśli będzie tysiące ogłoszeń to całe dnie będzie schodzić na przypisywanie tylko współrzędnych..

Sam mechanizm usuwania z systemu tych współrzędnych chciałbym zrobić, by być pewnym, że nie łamie jakiegoś postanowienia regulaminu - może macie jakiś pomysł? Punkt w regulaminie mówiący o tym, to 10.5 D, tutaj: https://developers.google.com/maps/terms#10...se-restrictions

Jakoś to omijają portale typu jakdojade, airbnb, czy trivago, ale oczywiście ich nie zapytam ;-)
nansss93
Może współrzędne trzymać dodatkowo u siebie w bazie na przykład?
bialko0019
No tak, ale mam obowiązek ich usunięcia w ciągu 30dni - więc jak potem je wygenerować? Na podstawienia adresu - okey spoko, bo adres zostaje na zawsze, ale jak jest sytuacja, że ktoś sobie pinezkę przesunął to jak po adresie znajdę, to potem te współrzędne nie będą dokładne... ?
nansss93
A nie możesz ich wygenerować na podstawie danych z bazy?
bialko0019
No mogę, tylko jak? Gdy ktoś wpisał adres i wygenerowały się współrzędne - okey spoko, ale jest problem gdy ktoś tą pinezkę przesunął i współrzędne są troszkę inne niż adresu (np. po wpisaniu adresu jest pokazana zła lokalizacja itd)..
trueblue
A gdybyś przechowywał przesunięcie X oraz Y względem oryginalnej pozycji Google?
nospor
Przepraszam, ze tak zbocze lekko z tematu, ale jedna rzecz mnie intryguje:
Czy Wy chcecie powiedziec, ze jak korzystam z google maps to nie moge sobie zapisac w bazie (na zawsze) wspolrzednych ktore odczytalem po ustawieniu markera?
trueblue
O ile pamiętam czytając kiedyś regulamin dotarłem właśnie do takiej wzmianki. Wydaje mi się, że również nie jest zgodne z regulaminem używanie screenshotów z map.

Do autora: chyba wersje for business zezwalają na takie możliwości, i być może właśnie wspomniane serwisy korzystają z nich.
markuz
Też potrzebowałem w projekcie geolokalizacji, darmowe Google nie jest dobre dla komercyjnych projektów a ten taki był - więc znalazłem alternatywe:
http://nominatim.openstreetmap.org/search?...&q=Warszawa

Może wyniki ma trochę gorsze od Google API ale myślę, że wystarczy smile.gif

Do świetlania map polecam też leafletjs jako alternatywę Google Maps.
gitbejbe
mam zapisanych w bazie około 20 tyś różnych współrzędnych użytkowników które obrabiam przez google api, oraz wyświetlam te dane na mapach google w samym serwisie. NIC SAM NIE AKTUALIZUJE - jedynie użytkownik jeśli ma taką potrzebę. Wszystko działa ponad 3 lata i ani razu nie było z tym problemu. Na podstawie tych danych pobieram również pogodę. Również nie za bardzo czaje w czym problem.

Cytat
Google nie zezwala na trzymanie dłużej jak 30dni w cache współrzędnych


Jeśli ten dzień nastanie, to przeprowadzam się w Bieszczady na jakieś zadupie zdala od ludzkości

Cytat
No mogę, tylko jak? Gdy ktoś wpisał adres i wygenerowały się współrzędne - okey spoko, ale jest problem gdy ktoś tą pinezkę przesunął i współrzędne są troszkę inne niż adresu (np. po wpisaniu adresu jest pokazana zła lokalizacja itd)..


Jak to jak ? Nieważne czy ktoś wpisał adres czy przesunął pinezkę, dla ciebie istotne są tylko współrzędne lat lng - proponuje o tym poczytać bo widocznie nie wiesz do czego to służy.
bialko0019
Kontaktowałem się z obsługą (firma, która obsługuje support polski google map) i powiedziano mi, po czym dostałem potwierdzenie, że na aktualnie jest tak, że wszystkie dane, które pochodzą od Google, mogą być zapisywane w cache tylko dla przyśpieszenia aplikacji, maksymalnie przez 30dni. Support powiedział mi także, że można to ominąć, usuwając te dane co 30dni, i generując je od nowa. Wersja darmowa daje to, że musi być dostępna dla wszytskich i zawsze, czyli np. nie może być w Panelu Admina, ale może być np. dla zalogowanych (bo można się zarejestrować). Nie można też wykorzystawać do geolokalizacji np. swojej floty w firmie. W wersji pro ( płatna bagatela 8 580 eur netto ) te ograniczenia są zdejmowane, ale cache o którym wspominałem dalej jest ograniczony.

Wiem, że teoretycznie można i 10lat korzystać z tych danych, nikt nie sprawdzi, nie przyczepi się, ale jeśli wyraźnie support tak mówi i w podanym linku w regulaminie, to może być też niezła kara na potem, tym bardziej jeśli wykorzystujesz to w firmie ;-)

Problem w tym, że muszę zapisać współrzędne, i muszę w ciągu 30dni je usunąć ;/ No i pytanie czy mieliście podobne problemy i jak to rozwiązać :-)
trueblue
Podałem Ci rozwiązanie wyżej.
bialko0019
Hmm, sorki, że się nie odniosłem do Twojej propozycji. A myślisz, że takie przesunięcie można zaliczyć do dozwolonych do trzymania na zawsze? W sumie myślałem na początku o tym, ale w sumie te dane też są pochodzenia google, bo bez współrzędnych bym przesunięcia nie policzył :-) Jeszcze dopowiem, że w wersji pro również jest taka sytuacja, że "oficjalnie" nie można zapisywać na dłużej. Myślałem, o innych maps`ach ale geokodoawanie adres na współrzędne i odwrotnie na polskę jest dosyć nie dokładne.. nie wpiszesz np. ul. Piastowska tylko "Piastowska" bez Ul i jest problem, do tego ktoś wpisze "aleje jerozolimskie" to nie zwraca, chyba, że ktoś wpisze "jerozolimskie" itd..
trueblue
Ale na ich podstawie nie wygenerujesz źródłowych koordynatów, co za tym idzie musisz ponownie skorzystać z geolokalizacji. Tak bym na to spojrzał.
gitbejbe
... czyli chcesz mi powiedzieć, że jak pobiorę sobie koordynaty z google np: 51.919438 , 19.145136 (Polska) i zapisze je sobie w bazie , to po 30 dniach jak tego nie usunę i pobiorę na nowo to google może mnie pozwać ?
bialko0019
Nie wiem czy pozwać, czy zbanować, czy pogrozić palcem, ale w rozmowie z pl supportem (Globema), tak mi powiedziano. Do tego w regulaminie co w pierwszym poście wkleiłem, jest jasno napisane. No ale wiecie, do tego dochodzi kwestia sprawdzenia... - nikt Ci plików nie podejrzy. Chociaż jeśli ktoś tworzy projekty komercyjne, na poważnie, to warto wiedzieć i nie naginać zbyt mocno.. wink.gif Chociaż też Google nie jest właścicielem współrzędnych, bo są nim chyba USA, a Google tylko pośrednikiem..
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.