Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Google API], Zapis do bazy danych
poczatkujaca12
post 8.07.2019, 13:48:53
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 24.06.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam, mam pytanie czy jest możliwość zaciągnięcia z maps.google.com danych teleadresowych wszystkich firm z danej dziedziny na podanym obszarze - Państwo/województwo/miasto?
Chodzi o to, że wpisuję na obszarze województwa łódzkiego hasło hydraulik i znajduje mi i wpisuje do bazy danych na moim serwerze dane teleadresowe znalezionych hydraulików.
Wyświetlam Wrocław wpisuję okulista - wpisuje mi do bazy wszystkich znalezionych okulistów... etc...
dane udostępniane na mapach - adres, telefon, godziny otwarcia, ocena ogólna strona www etc...
Go to the top of the page
+Quote Post
Neutral
post 8.07.2019, 16:29:25
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 35
Dołączył: 10.01.2016

Ostrzeżenie: (0%)
-----


Poszukaj w Google Maps API, powinno gdzieś być o tym napisane.

API
Go to the top of the page
+Quote Post
poczatkujaca12
post 12.07.2019, 11:20:39
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 24.06.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dzięki,
udało się...
w 2 krokach:
w 1 pobieram place_id interesujących miejsc - json
w 2 szczegóły konkretnych place_id

da się w 1 strzale wyświetlić dane z nr telefonu czy stroną www?
Bo w tej chwili strzela
21 razy:
1 żeby pobrać id:
https://maps.googleapis.com/maps/api/place/...ysearch/json?...
i każdorazowo aby pobrać telefon
https://maps.googleapis.com/maps/api/place/...json?placeid=...
- pozostałe dane są z 1 strzału.

Ten post edytował poczatkujaca12 12.07.2019, 11:29:43
Go to the top of the page
+Quote Post
Neutral
post 12.07.2019, 22:04:43
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 35
Dołączył: 10.01.2016

Ostrzeżenie: (0%)
-----


Może zamiast raz działać na już ściągniętych danych z API, ciągle wysyłasz żądania do API i ściągasz dane?
Pokaż kawałek kodu.
Poszukaj bezpośrednie API, a nie pośrednie. Tak mi się wydaje. Jeśli ściągasz dane z API to pracuj już na ściągniętych danych, czyli przypisz do zmiennej i odwołuj się do zmiennej, a nie wysyłasz następne żądania do API kolejno.
Go to the top of the page
+Quote Post
poczatkujaca12
post 15.07.2019, 09:14:24
Post #5





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 24.06.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Właśnie w danych zbiorowych z nearbysearch - nie mam danych szczegółowych o adresie (jest opisowy: vicinity - ale to za mało, nie ma tam kodu pocztowego, często numeru mieszkania/lokalu, województwa etc)... nie ma w ogóle żadnego numeru telefonu - to muszę strzelać po te dane w place/details dla KAŻDEGO dla znalezionego adresu... wydaje mi się to mało optymalne :/

Inna kwestia - czy jest możliwość ściągnięcia większej ilości adresów w pojedyńczym jsonie? - limit domyślny jest na 20... ale chociaż jakoś go zwiększyć do 40/60/100?

I kolejny problemik - w nearbysearch jak jestem blisko granic kraju wskakują adresy spoza kraju - można to jakoś ograniczyć z poziomu adresu API?
Go to the top of the page
+Quote Post
Neutral
post 15.07.2019, 11:12:16
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 35
Dołączył: 10.01.2016

Ostrzeżenie: (0%)
-----


Wklej tutaj przykład JSON'a, ponieważ powinnaś chyba ściągać dane pakietowo, nie pojedynczo (chyba jest tam opcja /?...).

Musiałabyś poszukać, czy jest możliwość zmiany domyślnej wartości z 20 na inną wartość.

Możliwe, że jest coś w stylu "if" w API, czyli musisz dodać słowo kluczowe "szukaj w obrębie kraju...".
Go to the top of the page
+Quote Post
poczatkujaca12
post 15.07.2019, 11:26:36
Post #7





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 24.06.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. {
  2. "html_attributions" : [],
  3. "next_page_token" : "CqQCIAEAAPPHhTqnTpb6O4miWfUz0xdD7l5cETS_GQ2K91EdLjEihNrXJhvRlMxSR8rHKUtRDgx
    xSbXQVV_cA4KudBzQvNTbBjFTTijtvwkiZ-6qtt2UVyfnAisAJKzDvKsicqYF1clZzlS0mKl-w6KzW6go-sEcuYyCT76M6C_AQlGMHGcoEamC8nZkMyxlfp1oVR2joT5ds0MC90UMAByoIvpZ7GKA2XIJnKxfLCoi9
    kod59FPsdypW_OYP2_xiZnsKDgpvBECyyRbxvxDi6gZYArNVwlCwjFRv4U4QfVRAqgHjFqQ2Rsogf2rsj
    4rXpODDVnpKjors5p8QzavD25Bv7rbfQLG5KvDAzqMWYLSGm49ENBNExLFr9A1cxKZ7BzmUmBhuBIQHcM
    roMdsWsMmZh7HYXdWAxoUGvztTOJT0Ogk53ZQjQNHKkfQLNo",
  4. "results" : [
  5. {
  6. "geometry" : {
  7. "location" : {
  8. "lat" : 53.6666612,
  9. "lng" : 23.8332293
  10. },
  11. "viewport" : {
  12. "northeast" : {
  13. "lat" : 53.6680996302915,
  14. "lng" : 23.8345752302915
  15. },
  16. "southwest" : {
  17. "lat" : 53.6654016697085,
  18. "lng" : 23.8318772697085
  19. }
  20. }
  21. },
  22. "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
  23. "id" : "8a537a57ed10a3d3021d716311aa3c8f1379f356",
  24. "name" : "Parikmaherskaja PK Beatris Grodno",
  25. "place_id" : "ChIJqz2BtszX30YRqWKWb7OwL7E",
  26. "plus_code" : {
  27. "compound_code" : "MR8M+M7 Grodno, Białoruś",
  28. "global_code" : "9G55MR8M+M7"
  29. },
  30. "reference" : "ChIJqz2BtszX30YRqWKWb7OwL7E",
  31. "scope" : "GOOGLE",
  32. "types" : [ "hair_care", "point_of_interest", "establishment" ],
  33. "vicinity" : "1 questionmark.gif? 7 (?-questionmark.gif questionmark.gifquestionmark.gif), questionmark.gifquestionmark.gifquestionmark.gif, 230023"
  34. },
  35. {
  36. "geometry" : {
  37. "location" : {
  38. "lat" : 53.841993,
  39. "lng" : 22.9772301
  40. },
  41. "viewport" : {
  42. "northeast" : {
  43. "lat" : 53.8433188802915,
  44. "lng" : 22.9786398802915
  45. },
  46. "southwest" : {
  47. "lat" : 53.8406209197085,
  48. "lng" : 22.9759419197085
  49. }
  50. }
  51. },
  52. "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
  53. "id" : "50ee6649aff537b23aba424f33d215eb23b62b82",
  54. "name" : "Wróblewska Ewa. Salon fryzjerski",
  55. "opening_hours" : {
  56. "open_now" : true
  57. },
  58. "photos" : [
  59. {
  60. "height" : 4032,
  61. "html_attributions" : [
  62. "\u003ca href=\"https://maps.google.com/maps/contrib/113036791159496395054/photos\"\u003eNatalia Rozmysłowicz\u003c/a\u003e"
  63. ],
  64. "photo_reference" : "CmRaAAAAslDFcd36zagfJAm1w20-pfTOnc1pbOdkkfkuUZOn62_DN6JuzT4wBOFQJJSdxPnMjn2zKfjDnG3ZRH2TEW30mv3PocdD7DgM7ah7
    X1wMDOBtKo59CgdG760HXLvU1XAqEhBfVvWE7kMYed4E9kLlMpgKGhRA6yMjU0OoeZ3EjokVmUu8TjgbW
    w",
  65. "width" : 3024
  66. }
  67. ],
  68. "place_id" : "ChIJKZKJalVQ4EYRvdqAkjovY7s",
  69. "plus_code" : {
  70. "compound_code" : "RXRG+QV Augustów, Polska",
  71. "global_code" : "9G54RXRG+QV"
  72. },
  73. "rating" : 3.8,
  74. "reference" : "ChIJKZKJalVQ4EYRvdqAkjovY7s",
  75. "scope" : "GOOGLE",
  76. "types" : [ "hair_care", "health", "point_of_interest", "establishment" ],
  77. "user_ratings_total" : 20,
  78. "vicinity" : "Wojska Polskiego 12, Augustów"
  79. },
  80. {
  81. "geometry" : {
  82. "location" : {
  83. "lat" : 54.1090899,
  84. "lng" : 23.3509192
  85. },
  86. "viewport" : {
  87. "northeast" : {
  88. "lat" : 54.11038293029151,
  89. "lng" : 23.3523035802915
  90. },
  91. "southwest" : {
  92. "lat" : 54.10768496970851,
  93. "lng" : 23.3496056197085
  94. }
  95. }
  96. },
  97. "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
  98. "id" : "7c390be07fa30974ea3c3cddc4c50316cdbcc153",
  99. "name" : "Salon Groomingu Strzyżenie i pielęgnacja psów Hotel dla zwierząt",
  100. "opening_hours" : {
  101. "open_now" : true
  102. },
  103. "photos" : [
  104. {
  105. "height" : 300,
  106. "html_attributions" : [
  107. "\u003ca href=\"https://maps.google.com/maps/contrib/103439161800366086472/photos\"\u003eSebastian Musiał\u003c/a\u003e"
  108. ],
  109. "photo_reference" : "CmRaAAAA5olEWH6vAiXSqDcEWqNgzWxQ_XB42gfDB5o89OoispUvTzZTvxRGuqIIjMp6BSk9D6D
    79eMes4TIITBkaRHzLoUALK6J5wUDXCrDG-pjN0YGc_PE_EHOXG9ZyqGqzawHEhDjbhgNvoVoR4uqi0hDWSZTGhR4LQylfxAVCWT8yr5GpDIufSYxKA",
  110. "width" : 381
  111. }
  112. ],
  113. "place_id" : "ChIJeTOgOcbv4EYRaqbV_Af7tf0",
  114. "plus_code" : {
  115. "compound_code" : "4952+J9 Sejny, Polska",
  116. "global_code" : "9G654952+J9"
  117. },
  118. "rating" : 4.2,
  119. "reference" : "ChIJeTOgOcbv4EYRaqbV_Af7tf0",
  120. "scope" : "GOOGLE",
  121. "types" : [ "hair_care", "point_of_interest", "establishment" ],
  122. "user_ratings_total" : 10,
  123. "vicinity" : "Głowackiego 1A, Sejny"
  124. },
  125. {
  126. "geometry" : {
  127. "location" : {
  128. "lat" : 54.1053636,
  129. "lng" : 23.3486228
  130. },
  131. "viewport" : {
  132. "northeast" : {
  133. "lat" : 54.1066868802915,
  134. "lng" : 23.3499293802915
  135. },
  136. "southwest" : {
  137. "lat" : 54.1039889197085,
  138. "lng" : 23.3472314197085
  139. }
  140. }
  141. },
  142. "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
  143. "id" : "eb75d157e8cef8b45e0052f9fbd494b42fb25c27",
  144. "name" : "U Ali. Salon fryzjerski. Zianowicz A.",
  145. "opening_hours" : {
  146. "open_now" : false
  147. },
  148. "place_id" : "ChIJQROx9cXv4EYR_gu4mwHqGTo",
  149. "plus_code" : {
  150. "compound_code" : "484X+4C Sejny, Polska",
  151. "global_code" : "9G65484X+4C"
  152. },
  153. "rating" : 5,
  154. "reference" : "ChIJQROx9cXv4EYR_gu4mwHqGTo",
  155. "scope" : "GOOGLE",
  156. "types" : [ "hair_care", "point_of_interest", "establishment" ],
  157. "user_ratings_total" : 7,
  158. "vicinity" : "Parkowa 1a, Sejny"
  159. }
  160. ],
  161. "status" : "OK"
  162. }

Przykładowy json... z wyszukiwania...
https://maps.googleapis.com/maps/api/place/...3.330585&...
Próbowałam już &country, &language, &region - ale nadal wypluwa mi dane białorusi tongue.gif
tu skróciłam do 4 elementów... w jsonie jest ich 20...
Poki co nie znalazłam info jak i czy można zrobić aby wypluwało więcej danych z obszaru (40-100)

Ten post edytował poczatkujaca12 15.07.2019, 11:38:46
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.07.2019 - 02:25