geocoder 1.2.6 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +266 -1
  3. data/LICENSE +1 -1
  4. data/README.md +530 -804
  5. data/bin/console +13 -0
  6. data/examples/app_defined_lookup_services.rb +22 -0
  7. data/examples/reverse_geocode_job.rb +40 -0
  8. data/lib/easting_northing.rb +171 -0
  9. data/lib/generators/geocoder/config/templates/initializer.rb +22 -16
  10. data/lib/generators/geocoder/maxmind/geolite_city_generator.rb +2 -0
  11. data/lib/generators/geocoder/maxmind/geolite_country_generator.rb +2 -0
  12. data/lib/generators/geocoder/maxmind/templates/migration/geolite_city.rb +1 -1
  13. data/lib/generators/geocoder/maxmind/templates/migration/geolite_country.rb +1 -1
  14. data/lib/generators/geocoder/migration_version.rb +15 -0
  15. data/lib/geocoder/cache.rb +20 -33
  16. data/lib/geocoder/cache_stores/base.rb +40 -0
  17. data/lib/geocoder/cache_stores/generic.rb +35 -0
  18. data/lib/geocoder/cache_stores/redis.rb +34 -0
  19. data/lib/geocoder/calculations.rb +30 -38
  20. data/lib/geocoder/cli.rb +2 -2
  21. data/lib/geocoder/configuration.rb +36 -9
  22. data/lib/geocoder/configuration_hash.rb +4 -4
  23. data/lib/geocoder/esri_token.rb +38 -0
  24. data/lib/geocoder/exceptions.rb +19 -0
  25. data/lib/geocoder/ip_address.rb +26 -11
  26. data/lib/geocoder/kernel_logger.rb +25 -0
  27. data/lib/geocoder/logger.rb +47 -0
  28. data/lib/geocoder/lookup.rb +63 -13
  29. data/lib/geocoder/lookups/abstract_api.rb +46 -0
  30. data/lib/geocoder/lookups/amap.rb +63 -0
  31. data/lib/geocoder/lookups/amazon_location_service.rb +55 -0
  32. data/lib/geocoder/lookups/baidu.rb +17 -9
  33. data/lib/geocoder/lookups/baidu_ip.rb +7 -31
  34. data/lib/geocoder/lookups/ban_data_gouv_fr.rb +143 -0
  35. data/lib/geocoder/lookups/base.rb +75 -26
  36. data/lib/geocoder/lookups/bing.rb +38 -15
  37. data/lib/geocoder/lookups/db_ip_com.rb +52 -0
  38. data/lib/geocoder/lookups/dstk.rb +4 -2
  39. data/lib/geocoder/lookups/esri.rb +78 -12
  40. data/lib/geocoder/lookups/freegeoip.rb +22 -7
  41. data/lib/geocoder/lookups/geoapify.rb +78 -0
  42. data/lib/geocoder/lookups/geocoder_ca.rb +5 -6
  43. data/lib/geocoder/lookups/geocodio.rb +8 -8
  44. data/lib/geocoder/lookups/geoip2.rb +13 -4
  45. data/lib/geocoder/lookups/geoportail_lu.rb +65 -0
  46. data/lib/geocoder/lookups/google.rb +44 -11
  47. data/lib/geocoder/lookups/google_places_details.rb +31 -17
  48. data/lib/geocoder/lookups/google_places_search.rb +76 -0
  49. data/lib/geocoder/lookups/google_premier.rb +15 -1
  50. data/lib/geocoder/lookups/here.rb +38 -27
  51. data/lib/geocoder/lookups/ip2location.rb +71 -0
  52. data/lib/geocoder/lookups/ipapi_com.rb +82 -0
  53. data/lib/geocoder/lookups/ipbase.rb +49 -0
  54. data/lib/geocoder/lookups/ipdata_co.rb +62 -0
  55. data/lib/geocoder/lookups/ipgeolocation.rb +51 -0
  56. data/lib/geocoder/lookups/ipinfo_io.rb +44 -0
  57. data/lib/geocoder/lookups/ipqualityscore.rb +50 -0
  58. data/lib/geocoder/lookups/ipregistry.rb +68 -0
  59. data/lib/geocoder/lookups/ipstack.rb +63 -0
  60. data/lib/geocoder/lookups/latlon.rb +58 -0
  61. data/lib/geocoder/lookups/location_iq.rb +54 -0
  62. data/lib/geocoder/lookups/mapbox.rb +59 -0
  63. data/lib/geocoder/lookups/mapquest.rb +7 -9
  64. data/lib/geocoder/lookups/maxmind.rb +7 -7
  65. data/lib/geocoder/lookups/maxmind_geoip2.rb +70 -0
  66. data/lib/geocoder/lookups/maxmind_local.rb +16 -3
  67. data/lib/geocoder/lookups/melissa_street.rb +41 -0
  68. data/lib/geocoder/lookups/nationaal_georegister_nl.rb +38 -0
  69. data/lib/geocoder/lookups/nominatim.rb +18 -6
  70. data/lib/geocoder/lookups/opencagedata.rb +16 -9
  71. data/lib/geocoder/lookups/osmnames.rb +57 -0
  72. data/lib/geocoder/lookups/pc_miler.rb +85 -0
  73. data/lib/geocoder/lookups/pelias.rb +63 -0
  74. data/lib/geocoder/lookups/photon.rb +89 -0
  75. data/lib/geocoder/lookups/pickpoint.rb +41 -0
  76. data/lib/geocoder/lookups/pointpin.rb +14 -13
  77. data/lib/geocoder/lookups/postcode_anywhere_uk.rb +7 -8
  78. data/lib/geocoder/lookups/postcodes_io.rb +31 -0
  79. data/lib/geocoder/lookups/smarty_streets.rb +29 -6
  80. data/lib/geocoder/lookups/telize.rb +42 -7
  81. data/lib/geocoder/lookups/tencent.rb +59 -0
  82. data/lib/geocoder/lookups/test.rb +5 -0
  83. data/lib/geocoder/lookups/twogis.rb +58 -0
  84. data/lib/geocoder/lookups/uk_ordnance_survey_names.rb +59 -0
  85. data/lib/geocoder/lookups/yandex.rb +20 -13
  86. data/lib/geocoder/models/active_record.rb +4 -3
  87. data/lib/geocoder/models/mongo_base.rb +0 -2
  88. data/lib/geocoder/query.rb +15 -1
  89. data/lib/geocoder/railtie.rb +1 -1
  90. data/lib/geocoder/request.rb +103 -14
  91. data/lib/geocoder/results/abstract_api.rb +146 -0
  92. data/lib/geocoder/results/amap.rb +87 -0
  93. data/lib/geocoder/results/amazon_location_service.rb +57 -0
  94. data/lib/geocoder/results/baidu.rb +10 -14
  95. data/lib/geocoder/results/ban_data_gouv_fr.rb +282 -0
  96. data/lib/geocoder/results/base.rb +13 -1
  97. data/lib/geocoder/results/bing.rb +5 -1
  98. data/lib/geocoder/results/db_ip_com.rb +58 -0
  99. data/lib/geocoder/results/esri.rb +35 -8
  100. data/lib/geocoder/results/freegeoip.rb +2 -7
  101. data/lib/geocoder/results/geoapify.rb +179 -0
  102. data/lib/geocoder/results/geocoder_ca.rb +3 -3
  103. data/lib/geocoder/results/geocodio.rb +15 -3
  104. data/lib/geocoder/results/geoip2.rb +37 -25
  105. data/lib/geocoder/results/geoportail_lu.rb +71 -0
  106. data/lib/geocoder/results/google.rb +26 -0
  107. data/lib/geocoder/results/google_places_details.rb +4 -0
  108. data/lib/geocoder/results/google_places_search.rb +52 -0
  109. data/lib/geocoder/results/here.rb +30 -15
  110. data/lib/geocoder/results/ip2location.rb +22 -0
  111. data/lib/geocoder/results/ipapi_com.rb +45 -0
  112. data/lib/geocoder/results/ipbase.rb +40 -0
  113. data/lib/geocoder/results/ipdata_co.rb +40 -0
  114. data/lib/geocoder/results/ipgeolocation.rb +59 -0
  115. data/lib/geocoder/results/ipinfo_io.rb +48 -0
  116. data/lib/geocoder/results/ipqualityscore.rb +54 -0
  117. data/lib/geocoder/results/ipregistry.rb +304 -0
  118. data/lib/geocoder/results/ipstack.rb +60 -0
  119. data/lib/geocoder/results/latlon.rb +71 -0
  120. data/lib/geocoder/results/location_iq.rb +6 -0
  121. data/lib/geocoder/results/mapbox.rb +63 -0
  122. data/lib/geocoder/results/mapquest.rb +5 -8
  123. data/lib/geocoder/results/maxmind.rb +0 -5
  124. data/lib/geocoder/results/maxmind_geoip2.rb +9 -0
  125. data/lib/geocoder/results/maxmind_local.rb +0 -5
  126. data/lib/geocoder/results/melissa_street.rb +46 -0
  127. data/lib/geocoder/results/nationaal_georegister_nl.rb +62 -0
  128. data/lib/geocoder/results/nominatim.rb +41 -14
  129. data/lib/geocoder/results/opencagedata.rb +20 -2
  130. data/lib/geocoder/results/osmnames.rb +56 -0
  131. data/lib/geocoder/results/pc_miler.rb +98 -0
  132. data/lib/geocoder/results/pelias.rb +58 -0
  133. data/lib/geocoder/results/photon.rb +119 -0
  134. data/lib/geocoder/results/pickpoint.rb +6 -0
  135. data/lib/geocoder/results/pointpin.rb +0 -4
  136. data/lib/geocoder/results/postcodes_io.rb +40 -0
  137. data/lib/geocoder/results/smarty_streets.rb +55 -19
  138. data/lib/geocoder/results/telize.rb +0 -5
  139. data/lib/geocoder/results/tencent.rb +72 -0
  140. data/lib/geocoder/results/test.rb +1 -1
  141. data/lib/geocoder/results/twogis.rb +76 -0
  142. data/lib/geocoder/results/uk_ordnance_survey_names.rb +59 -0
  143. data/lib/geocoder/results/yandex.rb +240 -32
  144. data/lib/geocoder/sql.rb +9 -6
  145. data/lib/geocoder/stores/active_record.rb +49 -10
  146. data/lib/geocoder/stores/base.rb +2 -14
  147. data/lib/geocoder/stores/mongo_base.rb +0 -31
  148. data/lib/geocoder/util.rb +29 -0
  149. data/lib/geocoder/version.rb +1 -1
  150. data/lib/geocoder.rb +2 -1
  151. data/lib/maxmind_database.rb +9 -9
  152. data/lib/tasks/geocoder.rake +29 -4
  153. data/lib/tasks/maxmind.rake +1 -1
  154. metadata +91 -169
  155. data/.gitignore +0 -6
  156. data/.travis.yml +0 -31
  157. data/Rakefile +0 -25
  158. data/examples/autoexpire_cache_dalli.rb +0 -62
  159. data/examples/autoexpire_cache_redis.rb +0 -28
  160. data/gemfiles/Gemfile.mongoid-2.4.x +0 -16
  161. data/lib/geocoder/lookups/geocoder_us.rb +0 -39
  162. data/lib/geocoder/lookups/okf.rb +0 -43
  163. data/lib/geocoder/lookups/ovi.rb +0 -62
  164. data/lib/geocoder/lookups/yahoo.rb +0 -88
  165. data/lib/geocoder/results/geocoder_us.rb +0 -39
  166. data/lib/geocoder/results/okf.rb +0 -106
  167. data/lib/geocoder/results/ovi.rb +0 -62
  168. data/lib/geocoder/results/yahoo.rb +0 -55
  169. data/lib/hash_recursive_merge.rb +0 -74
  170. data/lib/oauth_util.rb +0 -112
  171. data/test/fixtures/baidu_invalid_key +0 -1
  172. data/test/fixtures/baidu_ip_202_198_16_3 +0 -19
  173. data/test/fixtures/baidu_ip_invalid_key +0 -1
  174. data/test/fixtures/baidu_ip_no_results +0 -1
  175. data/test/fixtures/baidu_no_results +0 -1
  176. data/test/fixtures/baidu_reverse +0 -1
  177. data/test/fixtures/baidu_shanghai_pearl_tower +0 -12
  178. data/test/fixtures/bing_invalid_key +0 -1
  179. data/test/fixtures/bing_madison_square_garden +0 -40
  180. data/test/fixtures/bing_no_results +0 -16
  181. data/test/fixtures/bing_reverse +0 -42
  182. data/test/fixtures/cloudmade_invalid_key +0 -1
  183. data/test/fixtures/cloudmade_madison_square_garden +0 -1
  184. data/test/fixtures/cloudmade_no_results +0 -1
  185. data/test/fixtures/esri_madison_square_garden +0 -59
  186. data/test/fixtures/esri_no_results +0 -8
  187. data/test/fixtures/esri_reverse +0 -21
  188. data/test/fixtures/freegeoip_74_200_247_59 +0 -12
  189. data/test/fixtures/freegeoip_no_results +0 -1
  190. data/test/fixtures/geocoder_ca_madison_square_garden +0 -1
  191. data/test/fixtures/geocoder_ca_no_results +0 -1
  192. data/test/fixtures/geocoder_ca_reverse +0 -34
  193. data/test/fixtures/geocoder_us_madison_square_garden +0 -1
  194. data/test/fixtures/geocoder_us_no_results +0 -1
  195. data/test/fixtures/geocodio_1101_pennsylvania_ave +0 -1
  196. data/test/fixtures/geocodio_bad_api_key +0 -3
  197. data/test/fixtures/geocodio_invalid +0 -4
  198. data/test/fixtures/geocodio_no_results +0 -1
  199. data/test/fixtures/geocodio_over_query_limit +0 -4
  200. data/test/fixtures/google_garbage +0 -456
  201. data/test/fixtures/google_madison_square_garden +0 -57
  202. data/test/fixtures/google_no_city_data +0 -44
  203. data/test/fixtures/google_no_locality +0 -51
  204. data/test/fixtures/google_no_results +0 -4
  205. data/test/fixtures/google_over_limit +0 -4
  206. data/test/fixtures/google_places_details_invalid_request +0 -4
  207. data/test/fixtures/google_places_details_madison_square_garden +0 -120
  208. data/test/fixtures/google_places_details_no_results +0 -4
  209. data/test/fixtures/google_places_details_no_reviews +0 -60
  210. data/test/fixtures/google_places_details_no_types +0 -66
  211. data/test/fixtures/here_madison_square_garden +0 -72
  212. data/test/fixtures/here_no_results +0 -8
  213. data/test/fixtures/mapquest_error +0 -16
  214. data/test/fixtures/mapquest_invalid_api_key +0 -16
  215. data/test/fixtures/mapquest_invalid_request +0 -16
  216. data/test/fixtures/mapquest_madison_square_garden +0 -52
  217. data/test/fixtures/mapquest_no_results +0 -16
  218. data/test/fixtures/maxmind_24_24_24_21 +0 -1
  219. data/test/fixtures/maxmind_24_24_24_22 +0 -1
  220. data/test/fixtures/maxmind_24_24_24_23 +0 -1
  221. data/test/fixtures/maxmind_24_24_24_24 +0 -1
  222. data/test/fixtures/maxmind_74_200_247_59 +0 -1
  223. data/test/fixtures/maxmind_invalid_key +0 -1
  224. data/test/fixtures/maxmind_no_results +0 -1
  225. data/test/fixtures/nominatim_madison_square_garden +0 -150
  226. data/test/fixtures/nominatim_no_results +0 -1
  227. data/test/fixtures/nominatim_over_limit +0 -1
  228. data/test/fixtures/okf_kirstinmaki +0 -67
  229. data/test/fixtures/okf_no_results +0 -4
  230. data/test/fixtures/opencagedata_invalid_api_key +0 -25
  231. data/test/fixtures/opencagedata_invalid_request +0 -26
  232. data/test/fixtures/opencagedata_madison_square_garden +0 -73
  233. data/test/fixtures/opencagedata_no_results +0 -29
  234. data/test/fixtures/opencagedata_over_limit +0 -31
  235. data/test/fixtures/ovi_madison_square_garden +0 -72
  236. data/test/fixtures/ovi_no_results +0 -8
  237. data/test/fixtures/pointpin_10_10_10_10 +0 -1
  238. data/test/fixtures/pointpin_555_555_555_555 +0 -1
  239. data/test/fixtures/pointpin_80_111_555_555 +0 -1
  240. data/test/fixtures/pointpin_no_results +0 -1
  241. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_WR26NJ +0 -1
  242. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_generic_error +0 -1
  243. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_hampshire +0 -1
  244. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_key_limit_exceeded +0 -1
  245. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_no_results +0 -1
  246. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_romsey +0 -1
  247. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_unknown_key +0 -1
  248. data/test/fixtures/smarty_streets_11211 +0 -1
  249. data/test/fixtures/smarty_streets_madison_square_garden +0 -47
  250. data/test/fixtures/smarty_streets_no_results +0 -1
  251. data/test/fixtures/telize_10_10_10_10 +0 -1
  252. data/test/fixtures/telize_555_555_555_555 +0 -4
  253. data/test/fixtures/telize_74_200_247_59 +0 -1
  254. data/test/fixtures/telize_no_results +0 -1
  255. data/test/fixtures/yahoo_error +0 -1
  256. data/test/fixtures/yahoo_invalid_key +0 -2
  257. data/test/fixtures/yahoo_madison_square_garden +0 -52
  258. data/test/fixtures/yahoo_no_results +0 -10
  259. data/test/fixtures/yahoo_over_limit +0 -2
  260. data/test/fixtures/yandex_canada_rue_dupuis_14 +0 -446
  261. data/test/fixtures/yandex_invalid_key +0 -1
  262. data/test/fixtures/yandex_kremlin +0 -48
  263. data/test/fixtures/yandex_new_york +0 -1
  264. data/test/fixtures/yandex_no_city_and_town +0 -112
  265. data/test/fixtures/yandex_no_results +0 -16
  266. data/test/integration/http_client_test.rb +0 -31
  267. data/test/mongoid_test_helper.rb +0 -43
  268. data/test/test_helper.rb +0 -416
  269. data/test/unit/active_record_test.rb +0 -16
  270. data/test/unit/cache_test.rb +0 -37
  271. data/test/unit/calculations_test.rb +0 -220
  272. data/test/unit/configuration_test.rb +0 -55
  273. data/test/unit/error_handling_test.rb +0 -56
  274. data/test/unit/geocoder_test.rb +0 -78
  275. data/test/unit/https_test.rb +0 -17
  276. data/test/unit/ip_address_test.rb +0 -27
  277. data/test/unit/lookup_test.rb +0 -153
  278. data/test/unit/lookups/bing_test.rb +0 -68
  279. data/test/unit/lookups/dstk_test.rb +0 -26
  280. data/test/unit/lookups/esri_test.rb +0 -48
  281. data/test/unit/lookups/freegeoip_test.rb +0 -27
  282. data/test/unit/lookups/geocoder_ca_test.rb +0 -17
  283. data/test/unit/lookups/geocodio_test.rb +0 -55
  284. data/test/unit/lookups/geoip2_test.rb +0 -27
  285. data/test/unit/lookups/google_places_details_test.rb +0 -122
  286. data/test/unit/lookups/google_premier_test.rb +0 -22
  287. data/test/unit/lookups/google_test.rb +0 -84
  288. data/test/unit/lookups/mapquest_test.rb +0 -60
  289. data/test/unit/lookups/maxmind_local_test.rb +0 -28
  290. data/test/unit/lookups/maxmind_test.rb +0 -63
  291. data/test/unit/lookups/nominatim_test.rb +0 -31
  292. data/test/unit/lookups/okf_test.rb +0 -38
  293. data/test/unit/lookups/opencagedata_test.rb +0 -64
  294. data/test/unit/lookups/pointpin_test.rb +0 -30
  295. data/test/unit/lookups/postcode_anywhere_uk_test.rb +0 -70
  296. data/test/unit/lookups/smarty_streets_test.rb +0 -71
  297. data/test/unit/lookups/telize_test.rb +0 -36
  298. data/test/unit/lookups/yahoo_test.rb +0 -35
  299. data/test/unit/method_aliases_test.rb +0 -26
  300. data/test/unit/model_test.rb +0 -38
  301. data/test/unit/mongoid_test.rb +0 -47
  302. data/test/unit/near_test.rb +0 -87
  303. data/test/unit/oauth_util_test.rb +0 -31
  304. data/test/unit/proxy_test.rb +0 -37
  305. data/test/unit/query_test.rb +0 -52
  306. data/test/unit/rake_task_test.rb +0 -21
  307. data/test/unit/request_test.rb +0 -35
  308. data/test/unit/result_test.rb +0 -72
  309. data/test/unit/test_mode_test.rb +0 -70
@@ -1,456 +0,0 @@
1
- {
2
- "status": "OK",
3
- "results": [ {
4
- "types": [ "postal_code" ],
5
- "formatted_address": "Hedge End, Southampton, Hampshire SO30 4RT, UK",
6
- "address_components": [ {
7
- "long_name": "SO30 4RT",
8
- "short_name": "SO30 4RT",
9
- "types": [ "postal_code" ]
10
- }, {
11
- "long_name": "Hedge End",
12
- "short_name": "Hedge End",
13
- "types": [ "sublocality", "political" ]
14
- }, {
15
- "long_name": "Southampton",
16
- "short_name": "Southampton",
17
- "types": [ "locality", "political" ]
18
- }, {
19
- "long_name": "Hampshire",
20
- "short_name": "Hampshire",
21
- "types": [ "administrative_area_level_2", "political" ]
22
- }, {
23
- "long_name": "United Kingdom",
24
- "short_name": "GB",
25
- "types": [ "country", "political" ]
26
- }, {
27
- "long_name": "SO30",
28
- "short_name": "SO30",
29
- "types": [ "postal_code_prefix", "postal_code" ]
30
- } ],
31
- "geometry": {
32
- "location": {
33
- "lat": 50.9173897,
34
- "lng": -1.3125111
35
- },
36
- "location_type": "APPROXIMATE",
37
- "viewport": {
38
- "southwest": {
39
- "lat": 50.9142421,
40
- "lng": -1.3156587
41
- },
42
- "northeast": {
43
- "lat": 50.9205373,
44
- "lng": -1.3093635
45
- }
46
- }
47
- },
48
- "partial_match": true
49
- }, {
50
- "types": [ "postal_code" ],
51
- "formatted_address": "Enfield, London N13 4RT, UK",
52
- "address_components": [ {
53
- "long_name": "N13 4RT",
54
- "short_name": "N13 4RT",
55
- "types": [ "postal_code" ]
56
- }, {
57
- "long_name": "London",
58
- "short_name": "London",
59
- "types": [ "locality", "political" ]
60
- }, {
61
- "long_name": "Enfield",
62
- "short_name": "Enfield",
63
- "types": [ "administrative_area_level_3", "political" ]
64
- }, {
65
- "long_name": "Greater London",
66
- "short_name": "Greater London",
67
- "types": [ "administrative_area_level_2", "political" ]
68
- }, {
69
- "long_name": "United Kingdom",
70
- "short_name": "GB",
71
- "types": [ "country", "political" ]
72
- }, {
73
- "long_name": "N13",
74
- "short_name": "N13",
75
- "types": [ "postal_code_prefix", "postal_code" ]
76
- } ],
77
- "geometry": {
78
- "location": {
79
- "lat": 51.6329009,
80
- "lng": -0.0994552
81
- },
82
- "location_type": "APPROXIMATE",
83
- "viewport": {
84
- "southwest": {
85
- "lat": 51.6297533,
86
- "lng": -0.1026028
87
- },
88
- "northeast": {
89
- "lat": 51.6360485,
90
- "lng": -0.0963076
91
- }
92
- }
93
- },
94
- "partial_match": true
95
- }, {
96
- "types": [ "postal_code" ],
97
- "formatted_address": "Cardiff, South Glamorgan CF5 4RT, UK",
98
- "address_components": [ {
99
- "long_name": "CF5 4RT",
100
- "short_name": "CF5 4RT",
101
- "types": [ "postal_code" ]
102
- }, {
103
- "long_name": "Caerau",
104
- "short_name": "Caerau",
105
- "types": [ "locality", "political" ]
106
- }, {
107
- "long_name": "Cardiff",
108
- "short_name": "Cardiff",
109
- "types": [ "locality", "political" ]
110
- }, {
111
- "long_name": "South Glamorgan",
112
- "short_name": "South Glam",
113
- "types": [ "administrative_area_level_2", "political" ]
114
- }, {
115
- "long_name": "Cardiff",
116
- "short_name": "Cardiff",
117
- "types": [ "administrative_area_level_2", "political" ]
118
- }, {
119
- "long_name": "United Kingdom",
120
- "short_name": "GB",
121
- "types": [ "country", "political" ]
122
- }, {
123
- "long_name": "CF5",
124
- "short_name": "CF5",
125
- "types": [ "postal_code_prefix", "postal_code" ]
126
- } ],
127
- "geometry": {
128
- "location": {
129
- "lat": 51.4675314,
130
- "lng": -3.2642245
131
- },
132
- "location_type": "APPROXIMATE",
133
- "viewport": {
134
- "southwest": {
135
- "lat": 51.4643838,
136
- "lng": -3.2673721
137
- },
138
- "northeast": {
139
- "lat": 51.4706790,
140
- "lng": -3.2610769
141
- }
142
- }
143
- },
144
- "partial_match": true
145
- }, {
146
- "types": [ "postal_code" ],
147
- "formatted_address": "Monifieth, Dundee, Angus DD5 4RT, UK",
148
- "address_components": [ {
149
- "long_name": "DD5 4RT",
150
- "short_name": "DD5 4RT",
151
- "types": [ "postal_code" ]
152
- }, {
153
- "long_name": "Monifieth",
154
- "short_name": "Monifieth",
155
- "types": [ "sublocality", "political" ]
156
- }, {
157
- "long_name": "Dundee",
158
- "short_name": "Dundee",
159
- "types": [ "locality", "political" ]
160
- }, {
161
- "long_name": "Angus",
162
- "short_name": "Angus",
163
- "types": [ "administrative_area_level_2", "political" ]
164
- }, {
165
- "long_name": "United Kingdom",
166
- "short_name": "GB",
167
- "types": [ "country", "political" ]
168
- }, {
169
- "long_name": "DD5",
170
- "short_name": "DD5",
171
- "types": [ "postal_code_prefix", "postal_code" ]
172
- } ],
173
- "geometry": {
174
- "location": {
175
- "lat": 56.4840193,
176
- "lng": -2.8291620
177
- },
178
- "location_type": "APPROXIMATE",
179
- "viewport": {
180
- "southwest": {
181
- "lat": 56.4808717,
182
- "lng": -2.8323096
183
- },
184
- "northeast": {
185
- "lat": 56.4871669,
186
- "lng": -2.8260144
187
- }
188
- }
189
- },
190
- "partial_match": true
191
- }, {
192
- "types": [ "postal_code" ],
193
- "formatted_address": "Reading RG30 4RT, UK",
194
- "address_components": [ {
195
- "long_name": "RG30 4RT",
196
- "short_name": "RG30 4RT",
197
- "types": [ "postal_code" ]
198
- }, {
199
- "long_name": "Reading",
200
- "short_name": "Reading",
201
- "types": [ "locality", "political" ]
202
- }, {
203
- "long_name": "Reading",
204
- "short_name": "Reading",
205
- "types": [ "administrative_area_level_2", "political" ]
206
- }, {
207
- "long_name": "United Kingdom",
208
- "short_name": "GB",
209
- "types": [ "country", "political" ]
210
- }, {
211
- "long_name": "RG30",
212
- "short_name": "RG30",
213
- "types": [ "postal_code_prefix", "postal_code" ]
214
- } ],
215
- "geometry": {
216
- "location": {
217
- "lat": 51.4554901,
218
- "lng": -1.0393378
219
- },
220
- "location_type": "APPROXIMATE",
221
- "viewport": {
222
- "southwest": {
223
- "lat": 51.4523425,
224
- "lng": -1.0424854
225
- },
226
- "northeast": {
227
- "lat": 51.4586377,
228
- "lng": -1.0361902
229
- }
230
- }
231
- },
232
- "partial_match": true
233
- }, {
234
- "types": [ "postal_code" ],
235
- "formatted_address": "Blyth, Northumberland NE24 4RT, UK",
236
- "address_components": [ {
237
- "long_name": "NE24 4RT",
238
- "short_name": "NE24 4RT",
239
- "types": [ "postal_code" ]
240
- }, {
241
- "long_name": "Blyth",
242
- "short_name": "Blyth",
243
- "types": [ "locality", "political" ]
244
- }, {
245
- "long_name": "Northumberland",
246
- "short_name": "Nthumb",
247
- "types": [ "administrative_area_level_2", "political" ]
248
- }, {
249
- "long_name": "United Kingdom",
250
- "short_name": "GB",
251
- "types": [ "country", "political" ]
252
- }, {
253
- "long_name": "NE24",
254
- "short_name": "NE24",
255
- "types": [ "postal_code_prefix", "postal_code" ]
256
- } ],
257
- "geometry": {
258
- "location": {
259
- "lat": 55.1314523,
260
- "lng": -1.5533331
261
- },
262
- "location_type": "APPROXIMATE",
263
- "viewport": {
264
- "southwest": {
265
- "lat": 55.1283047,
266
- "lng": -1.5564807
267
- },
268
- "northeast": {
269
- "lat": 55.1345999,
270
- "lng": -1.5501855
271
- }
272
- }
273
- },
274
- "partial_match": true
275
- }, {
276
- "types": [ "postal_code" ],
277
- "formatted_address": "Glasgow, Glasgow City G44 4RT, UK",
278
- "address_components": [ {
279
- "long_name": "G44 4RT",
280
- "short_name": "G44 4RT",
281
- "types": [ "postal_code" ]
282
- }, {
283
- "long_name": "Glasgow",
284
- "short_name": "Glasgow",
285
- "types": [ "locality", "political" ]
286
- }, {
287
- "long_name": "Glasgow City",
288
- "short_name": "Glasgow City",
289
- "types": [ "administrative_area_level_2", "political" ]
290
- }, {
291
- "long_name": "United Kingdom",
292
- "short_name": "GB",
293
- "types": [ "country", "political" ]
294
- }, {
295
- "long_name": "G44",
296
- "short_name": "G44",
297
- "types": [ "postal_code_prefix", "postal_code" ]
298
- } ],
299
- "geometry": {
300
- "location": {
301
- "lat": 55.8234812,
302
- "lng": -4.2507991
303
- },
304
- "location_type": "APPROXIMATE",
305
- "viewport": {
306
- "southwest": {
307
- "lat": 55.8203336,
308
- "lng": -4.2539467
309
- },
310
- "northeast": {
311
- "lat": 55.8266288,
312
- "lng": -4.2476515
313
- }
314
- }
315
- },
316
- "partial_match": true
317
- }, {
318
- "types": [ "postal_code" ],
319
- "formatted_address": "Waltham Forest, London E17 4RT, UK",
320
- "address_components": [ {
321
- "long_name": "E17 4RT",
322
- "short_name": "E17 4RT",
323
- "types": [ "postal_code" ]
324
- }, {
325
- "long_name": "London",
326
- "short_name": "London",
327
- "types": [ "locality", "political" ]
328
- }, {
329
- "long_name": "Walthamstow",
330
- "short_name": "Walthamstow",
331
- "types": [ "locality", "political" ]
332
- }, {
333
- "long_name": "Waltham Forest",
334
- "short_name": "Waltham Forest",
335
- "types": [ "administrative_area_level_3", "political" ]
336
- }, {
337
- "long_name": "Greater London",
338
- "short_name": "Greater London",
339
- "types": [ "administrative_area_level_2", "political" ]
340
- }, {
341
- "long_name": "United Kingdom",
342
- "short_name": "GB",
343
- "types": [ "country", "political" ]
344
- }, {
345
- "long_name": "E17",
346
- "short_name": "E17",
347
- "types": [ "postal_code_prefix", "postal_code" ]
348
- } ],
349
- "geometry": {
350
- "location": {
351
- "lat": 51.5853714,
352
- "lng": -0.0192463
353
- },
354
- "location_type": "APPROXIMATE",
355
- "viewport": {
356
- "southwest": {
357
- "lat": 51.5822238,
358
- "lng": -0.0223939
359
- },
360
- "northeast": {
361
- "lat": 51.5885190,
362
- "lng": -0.0160987
363
- }
364
- }
365
- },
366
- "partial_match": true
367
- }, {
368
- "types": [ "postal_code" ],
369
- "formatted_address": "Dunstable, Central Bedfordshire LU5 4RT, UK",
370
- "address_components": [ {
371
- "long_name": "LU5 4RT",
372
- "short_name": "LU5 4RT",
373
- "types": [ "postal_code" ]
374
- }, {
375
- "long_name": "Dunstable",
376
- "short_name": "Dunstable",
377
- "types": [ "locality", "political" ]
378
- }, {
379
- "long_name": "Central Bedfordshire",
380
- "short_name": "Central Bedfordshire",
381
- "types": [ "administrative_area_level_2", "political" ]
382
- }, {
383
- "long_name": "United Kingdom",
384
- "short_name": "GB",
385
- "types": [ "country", "political" ]
386
- }, {
387
- "long_name": "LU5",
388
- "short_name": "LU5",
389
- "types": [ "postal_code_prefix", "postal_code" ]
390
- } ],
391
- "geometry": {
392
- "location": {
393
- "lat": 51.8869978,
394
- "lng": -0.5175666
395
- },
396
- "location_type": "APPROXIMATE",
397
- "viewport": {
398
- "southwest": {
399
- "lat": 51.8838502,
400
- "lng": -0.5207142
401
- },
402
- "northeast": {
403
- "lat": 51.8901454,
404
- "lng": -0.5144190
405
- }
406
- }
407
- },
408
- "partial_match": true
409
- }, {
410
- "types": [ "postal_code" ],
411
- "formatted_address": "Newton Aycliffe, County Durham DL5 4RT, UK",
412
- "address_components": [ {
413
- "long_name": "DL5 4RT",
414
- "short_name": "DL5 4RT",
415
- "types": [ "postal_code" ]
416
- }, {
417
- "long_name": "Newton Aycliffe",
418
- "short_name": "Newton Aycliffe",
419
- "types": [ "locality", "political" ]
420
- }, {
421
- "long_name": "Great Aycliffe",
422
- "short_name": "Great Aycliffe",
423
- "types": [ "locality", "political" ]
424
- }, {
425
- "long_name": "Durham",
426
- "short_name": "Dur",
427
- "types": [ "administrative_area_level_2", "political" ]
428
- }, {
429
- "long_name": "United Kingdom",
430
- "short_name": "GB",
431
- "types": [ "country", "political" ]
432
- }, {
433
- "long_name": "DL5",
434
- "short_name": "DL5",
435
- "types": [ "postal_code_prefix", "postal_code" ]
436
- } ],
437
- "geometry": {
438
- "location": {
439
- "lat": 54.6323273,
440
- "lng": -1.5704658
441
- },
442
- "location_type": "APPROXIMATE",
443
- "viewport": {
444
- "southwest": {
445
- "lat": 54.6291797,
446
- "lng": -1.5736134
447
- },
448
- "northeast": {
449
- "lat": 54.6354749,
450
- "lng": -1.5673182
451
- }
452
- }
453
- },
454
- "partial_match": true
455
- } ]
456
- }
@@ -1,57 +0,0 @@
1
- {
2
- "status": "OK",
3
- "results": [ {
4
- "types": [ "street_address" ],
5
- "formatted_address": "4 Penn Plaza, New York, NY 10001, USA",
6
- "address_components": [ {
7
- "long_name": "4",
8
- "short_name": "4",
9
- "types": [ "street_number" ]
10
- }, {
11
- "long_name": "Penn Plaza",
12
- "short_name": "Penn Plaza",
13
- "types": [ "route" ]
14
- }, {
15
- "long_name": "Manhattan",
16
- "short_name": "Manhattan",
17
- "types": [ "sublocality", "political" ]
18
- }, {
19
- "long_name": "New York",
20
- "short_name": "New York",
21
- "types": [ "locality", "political" ]
22
- }, {
23
- "long_name": "New York",
24
- "short_name": "New York",
25
- "types": [ "administrative_area_level_2", "political" ]
26
- }, {
27
- "long_name": "New York",
28
- "short_name": "NY",
29
- "types": [ "administrative_area_level_1", "political" ]
30
- }, {
31
- "long_name": "United States",
32
- "short_name": "US",
33
- "types": [ "country", "political" ]
34
- }, {
35
- "long_name": "10001",
36
- "short_name": "10001",
37
- "types": [ "postal_code" ]
38
- } ],
39
- "geometry": {
40
- "location": {
41
- "lat": 40.7503540,
42
- "lng": -73.9933710
43
- },
44
- "location_type": "ROOFTOP",
45
- "viewport": {
46
- "southwest": {
47
- "lat": 40.7473324,
48
- "lng": -73.9965316
49
- },
50
- "northeast": {
51
- "lat": 40.7536276,
52
- "lng": -73.9902364
53
- }
54
- }
55
- }
56
- } ]
57
- }
@@ -1,44 +0,0 @@
1
- {
2
- "status": "OK",
3
- "results": [ {
4
- "types": [ "postal_code" ],
5
- "formatted_address": "55100, Turkey",
6
- "address_components": [{
7
- "long_name": "55100",
8
- "short_name": "55100",
9
- "types": ["postal_code"]
10
- },
11
- {
12
- "long_name": "Turkey",
13
- "short_name": "TR",
14
- "types": ["country", "political"]
15
- }],
16
- "geometry": {
17
- "location": {
18
- "lat": 41.3112221,
19
- "lng": 36.3322118
20
- },
21
- "location_type": "APPROXIMATE",
22
- "viewport": {
23
- "southwest": {
24
- "lat": 41.2933411,
25
- "lng": 36.3066331
26
- },
27
- "northeast": {
28
- "lat": 41.3291031,
29
- "lng": 36.3577906
30
- }
31
- },
32
- "bounds": {
33
- "southwest": {
34
- "lat": 41.2933411,
35
- "lng": 36.3066331
36
- },
37
- "northeast": {
38
- "lat": 41.3291031,
39
- "lng": 36.3577906
40
- }
41
- }
42
- }
43
- } ]
44
- }
@@ -1,51 +0,0 @@
1
- {
2
- "status": "OK",
3
- "results": [ {
4
- "types": [ "route" ],
5
- "formatted_address": "Al Ahram, Haram, Giza, Egypt",
6
- "address_components": [ {
7
- "long_name": "Al Ahram",
8
- "short_name": "Al Ahram",
9
- "types": [ "route" ]
10
- }, {
11
- "long_name": "Haram",
12
- "short_name": "Haram",
13
- "types": [ "administrative_area_level_2", "political" ]
14
- }, {
15
- "long_name": "Al Jizah",
16
- "short_name": "Al Jizah",
17
- "types": [ "administrative_area_level_1", "political" ]
18
- }, {
19
- "long_name": "Egypt",
20
- "short_name": "EG",
21
- "types": [ "country", "political" ]
22
- } ],
23
- "geometry": {
24
- "location": {
25
- "lat": 29.9803527,
26
- "lng": 31.1330307
27
- },
28
- "location_type": "APPROXIMATE",
29
- "viewport": {
30
- "southwest": {
31
- "lat": 29.9768276,
32
- "lng": 31.1302189
33
- },
34
- "northeast": {
35
- "lat": 29.9831228,
36
- "lng": 31.1365141
37
- }
38
- },
39
- "bounds": {
40
- "southwest": {
41
- "lat": 29.9775337,
42
- "lng": 31.1327483
43
- },
44
- "northeast": {
45
- "lat": 29.9824167,
46
- "lng": 31.1339847
47
- }
48
- }
49
- }
50
- } ]
51
- }
@@ -1,4 +0,0 @@
1
- {
2
- "status": "ZERO_RESULTS",
3
- "results": [ ]
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "status": "OVER_QUERY_LIMIT",
3
- "results": [ ]
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "html_attributions" : [],
3
- "status" : "INVALID_REQUEST"
4
- }