geocoder 1.2.7 → 1.2.8

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.

Potentially problematic release.


This version of geocoder might be problematic. Click here for more details.

Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -1
  3. data/README.md +31 -28
  4. data/examples/reverse_geocode_job.rb +40 -0
  5. data/lib/geocoder.rb +1 -0
  6. data/lib/geocoder/configuration.rb +5 -1
  7. data/lib/geocoder/exceptions.rb +3 -0
  8. data/lib/geocoder/ip_address.rb +2 -10
  9. data/lib/geocoder/logger.rb +55 -0
  10. data/lib/geocoder/lookup.rb +2 -1
  11. data/lib/geocoder/lookups/baidu.rb +5 -5
  12. data/lib/geocoder/lookups/baidu_ip.rb +5 -5
  13. data/lib/geocoder/lookups/base.rb +21 -16
  14. data/lib/geocoder/lookups/bing.rb +15 -2
  15. data/lib/geocoder/lookups/esri.rb +1 -1
  16. data/lib/geocoder/lookups/geocoder_ca.rb +1 -2
  17. data/lib/geocoder/lookups/geocodio.rb +3 -3
  18. data/lib/geocoder/lookups/google.rb +3 -3
  19. data/lib/geocoder/lookups/google_places_details.rb +3 -3
  20. data/lib/geocoder/lookups/mapquest.rb +3 -3
  21. data/lib/geocoder/lookups/maxmind.rb +1 -1
  22. data/lib/geocoder/lookups/maxmind_geoip2.rb +69 -0
  23. data/lib/geocoder/lookups/nominatim.rb +1 -1
  24. data/lib/geocoder/lookups/opencagedata.rb +4 -4
  25. data/lib/geocoder/lookups/pointpin.rb +4 -4
  26. data/lib/geocoder/lookups/postcode_anywhere_uk.rb +3 -3
  27. data/lib/geocoder/lookups/yahoo.rb +3 -3
  28. data/lib/geocoder/lookups/yandex.rb +3 -3
  29. data/lib/geocoder/query.rb +1 -1
  30. data/lib/geocoder/request.rb +70 -12
  31. data/lib/geocoder/results/geoip2.rb +8 -14
  32. data/lib/geocoder/results/maxmind_geoip2.rb +9 -0
  33. data/lib/geocoder/results/yandex.rb +5 -5
  34. data/lib/geocoder/version.rb +1 -1
  35. metadata +6 -147
  36. data/.gitignore +0 -6
  37. data/.travis.yml +0 -32
  38. data/Rakefile +0 -25
  39. data/examples/sidekiq_worker.rb +0 -16
  40. data/gemfiles/Gemfile.mongoid-2.4.x +0 -16
  41. data/test/fixtures/baidu_invalid_key +0 -1
  42. data/test/fixtures/baidu_ip_202_198_16_3 +0 -19
  43. data/test/fixtures/baidu_ip_invalid_key +0 -1
  44. data/test/fixtures/baidu_ip_no_results +0 -1
  45. data/test/fixtures/baidu_no_results +0 -1
  46. data/test/fixtures/baidu_reverse +0 -1
  47. data/test/fixtures/baidu_shanghai_pearl_tower +0 -12
  48. data/test/fixtures/bing_invalid_key +0 -1
  49. data/test/fixtures/bing_madison_square_garden +0 -40
  50. data/test/fixtures/bing_no_results +0 -16
  51. data/test/fixtures/bing_reverse +0 -42
  52. data/test/fixtures/cloudmade_invalid_key +0 -1
  53. data/test/fixtures/cloudmade_madison_square_garden +0 -1
  54. data/test/fixtures/cloudmade_no_results +0 -1
  55. data/test/fixtures/esri_madison_square_garden +0 -59
  56. data/test/fixtures/esri_no_results +0 -8
  57. data/test/fixtures/esri_reverse +0 -21
  58. data/test/fixtures/freegeoip_74_200_247_59 +0 -12
  59. data/test/fixtures/freegeoip_no_results +0 -1
  60. data/test/fixtures/geocoder_ca_madison_square_garden +0 -1
  61. data/test/fixtures/geocoder_ca_no_results +0 -1
  62. data/test/fixtures/geocoder_ca_reverse +0 -34
  63. data/test/fixtures/geocoder_us_madison_square_garden +0 -1
  64. data/test/fixtures/geocoder_us_no_results +0 -1
  65. data/test/fixtures/geocodio_1101_pennsylvania_ave +0 -1
  66. data/test/fixtures/geocodio_bad_api_key +0 -3
  67. data/test/fixtures/geocodio_invalid +0 -4
  68. data/test/fixtures/geocodio_no_results +0 -1
  69. data/test/fixtures/geocodio_over_query_limit +0 -4
  70. data/test/fixtures/google_garbage +0 -456
  71. data/test/fixtures/google_madison_square_garden +0 -57
  72. data/test/fixtures/google_no_city_data +0 -44
  73. data/test/fixtures/google_no_locality +0 -51
  74. data/test/fixtures/google_no_results +0 -4
  75. data/test/fixtures/google_over_limit +0 -4
  76. data/test/fixtures/google_places_details_invalid_request +0 -4
  77. data/test/fixtures/google_places_details_madison_square_garden +0 -120
  78. data/test/fixtures/google_places_details_no_results +0 -4
  79. data/test/fixtures/google_places_details_no_reviews +0 -60
  80. data/test/fixtures/google_places_details_no_types +0 -66
  81. data/test/fixtures/here_madison_square_garden +0 -72
  82. data/test/fixtures/here_no_results +0 -8
  83. data/test/fixtures/mapquest_error +0 -16
  84. data/test/fixtures/mapquest_invalid_api_key +0 -16
  85. data/test/fixtures/mapquest_invalid_request +0 -16
  86. data/test/fixtures/mapquest_madison_square_garden +0 -52
  87. data/test/fixtures/mapquest_no_results +0 -16
  88. data/test/fixtures/maxmind_24_24_24_21 +0 -1
  89. data/test/fixtures/maxmind_24_24_24_22 +0 -1
  90. data/test/fixtures/maxmind_24_24_24_23 +0 -1
  91. data/test/fixtures/maxmind_24_24_24_24 +0 -1
  92. data/test/fixtures/maxmind_74_200_247_59 +0 -1
  93. data/test/fixtures/maxmind_invalid_key +0 -1
  94. data/test/fixtures/maxmind_no_results +0 -1
  95. data/test/fixtures/nominatim_madison_square_garden +0 -150
  96. data/test/fixtures/nominatim_no_results +0 -1
  97. data/test/fixtures/nominatim_over_limit +0 -1
  98. data/test/fixtures/okf_kirstinmaki +0 -67
  99. data/test/fixtures/okf_no_results +0 -4
  100. data/test/fixtures/opencagedata_invalid_api_key +0 -25
  101. data/test/fixtures/opencagedata_invalid_request +0 -26
  102. data/test/fixtures/opencagedata_madison_square_garden +0 -73
  103. data/test/fixtures/opencagedata_no_results +0 -29
  104. data/test/fixtures/opencagedata_over_limit +0 -31
  105. data/test/fixtures/ovi_madison_square_garden +0 -72
  106. data/test/fixtures/ovi_no_results +0 -8
  107. data/test/fixtures/pointpin_10_10_10_10 +0 -1
  108. data/test/fixtures/pointpin_555_555_555_555 +0 -1
  109. data/test/fixtures/pointpin_80_111_555_555 +0 -1
  110. data/test/fixtures/pointpin_no_results +0 -1
  111. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_WR26NJ +0 -1
  112. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_generic_error +0 -1
  113. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_hampshire +0 -1
  114. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_key_limit_exceeded +0 -1
  115. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_no_results +0 -1
  116. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_romsey +0 -1
  117. data/test/fixtures/postcode_anywhere_uk_geocode_v2_00_unknown_key +0 -1
  118. data/test/fixtures/smarty_streets_11211 +0 -1
  119. data/test/fixtures/smarty_streets_madison_square_garden +0 -47
  120. data/test/fixtures/smarty_streets_no_results +0 -1
  121. data/test/fixtures/telize_10_10_10_10 +0 -1
  122. data/test/fixtures/telize_555_555_555_555 +0 -4
  123. data/test/fixtures/telize_74_200_247_59 +0 -1
  124. data/test/fixtures/telize_no_results +0 -1
  125. data/test/fixtures/yahoo_error +0 -1
  126. data/test/fixtures/yahoo_invalid_key +0 -2
  127. data/test/fixtures/yahoo_madison_square_garden +0 -52
  128. data/test/fixtures/yahoo_no_results +0 -10
  129. data/test/fixtures/yahoo_over_limit +0 -2
  130. data/test/fixtures/yandex_canada_rue_dupuis_14 +0 -446
  131. data/test/fixtures/yandex_invalid_key +0 -1
  132. data/test/fixtures/yandex_kremlin +0 -48
  133. data/test/fixtures/yandex_new_york +0 -1
  134. data/test/fixtures/yandex_no_administrative_area +0 -53
  135. data/test/fixtures/yandex_no_city_and_town +0 -112
  136. data/test/fixtures/yandex_no_results +0 -16
  137. data/test/integration/http_client_test.rb +0 -31
  138. data/test/mongoid_test_helper.rb +0 -43
  139. data/test/test_helper.rb +0 -423
  140. data/test/unit/active_record_test.rb +0 -16
  141. data/test/unit/cache_test.rb +0 -37
  142. data/test/unit/calculations_test.rb +0 -220
  143. data/test/unit/configuration_test.rb +0 -55
  144. data/test/unit/error_handling_test.rb +0 -79
  145. data/test/unit/geocoder_test.rb +0 -78
  146. data/test/unit/https_test.rb +0 -17
  147. data/test/unit/ip_address_test.rb +0 -27
  148. data/test/unit/lookup_test.rb +0 -153
  149. data/test/unit/lookups/bing_test.rb +0 -68
  150. data/test/unit/lookups/dstk_test.rb +0 -26
  151. data/test/unit/lookups/esri_test.rb +0 -48
  152. data/test/unit/lookups/freegeoip_test.rb +0 -27
  153. data/test/unit/lookups/geocoder_ca_test.rb +0 -17
  154. data/test/unit/lookups/geocodio_test.rb +0 -56
  155. data/test/unit/lookups/geoip2_test.rb +0 -27
  156. data/test/unit/lookups/google_places_details_test.rb +0 -122
  157. data/test/unit/lookups/google_premier_test.rb +0 -22
  158. data/test/unit/lookups/google_test.rb +0 -84
  159. data/test/unit/lookups/mapquest_test.rb +0 -60
  160. data/test/unit/lookups/maxmind_local_test.rb +0 -28
  161. data/test/unit/lookups/maxmind_test.rb +0 -63
  162. data/test/unit/lookups/nominatim_test.rb +0 -31
  163. data/test/unit/lookups/okf_test.rb +0 -38
  164. data/test/unit/lookups/opencagedata_test.rb +0 -64
  165. data/test/unit/lookups/pointpin_test.rb +0 -30
  166. data/test/unit/lookups/postcode_anywhere_uk_test.rb +0 -70
  167. data/test/unit/lookups/smarty_streets_test.rb +0 -71
  168. data/test/unit/lookups/telize_test.rb +0 -36
  169. data/test/unit/lookups/yahoo_test.rb +0 -35
  170. data/test/unit/method_aliases_test.rb +0 -26
  171. data/test/unit/model_test.rb +0 -38
  172. data/test/unit/mongoid_test.rb +0 -47
  173. data/test/unit/near_test.rb +0 -87
  174. data/test/unit/oauth_util_test.rb +0 -31
  175. data/test/unit/proxy_test.rb +0 -37
  176. data/test/unit/query_test.rb +0 -52
  177. data/test/unit/rake_task_test.rb +0 -21
  178. data/test/unit/request_test.rb +0 -35
  179. data/test/unit/result_test.rb +0 -81
  180. data/test/unit/test_mode_test.rb +0 -70
@@ -1,16 +0,0 @@
1
- {
2
- "authenticationResultCode":"ValidCredentials",
3
- "brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png",
4
- "copyright":"Copyright © 2011 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
5
- "resourceSets":[
6
- {
7
- "estimatedTotal":0,
8
- "resources":[
9
-
10
- ]
11
- }
12
- ],
13
- "statusCode":200,
14
- "statusDescription":"OK",
15
- "traceId":"907b76a307bc49129a489de3d4c992ea|CH1M001463|02.00.82.2800|CH1MSNVM001383, CH1MSNVM001358, CH1MSNVM001397"
16
- }
@@ -1,42 +0,0 @@
1
- {
2
- "authenticationResultCode":"ValidCredentials",
3
- "brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png",
4
- "copyright":"Copyright © 2011 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
5
- "resourceSets":[
6
- {
7
- "estimatedTotal":1,
8
- "resources":[
9
- {
10
- "__type":"Location:http:\/\/schemas.microsoft.com\/search\/local\/ws\/rest\/v1",
11
- "bbox":[
12
- 45.419835111675845,
13
- -75.683656128790716,
14
- 45.4275605468172,
15
- -75.66898098334994
16
- ],
17
- "name":"291 Rue Somerset E, Ottawa, ON, K1N",
18
- "point":{
19
- "type":"Point",
20
- "coordinates":[
21
- 45.423697829246521,
22
- -75.676318556070328
23
- ]
24
- },
25
- "address":{
26
- "addressLine":"291 Rue Somerset E",
27
- "adminDistrict":"ON",
28
- "countryRegion":"Canada",
29
- "formattedAddress":"291 Rue Somerset E, Ottawa, ON, K1N",
30
- "locality":"Ottawa",
31
- "postalCode":"K1N"
32
- },
33
- "confidence":"Medium",
34
- "entityType":"Address"
35
- }
36
- ]
37
- }
38
- ],
39
- "statusCode":200,
40
- "statusDescription":"OK",
41
- "traceId":"27bd5ed659e64ba6970c4144f1d4ea94|CH1M001470|02.00.82.2800|CH1MSNVM001396, CH1MSNVM001374"
42
- }
@@ -1 +0,0 @@
1
- Forbidden request
@@ -1 +0,0 @@
1
- {"found": 2, "bounds": [[40.74983, -73.99433], [40.75116, -73.99266]], "features": [{"id": 32891803,"centroid": {"type":"POINT","coordinates":[40.75111, -73.99345]},"bounds": [[40.74983, -73.99433], [40.75116, -73.99266]],"properties": {"osm_element": "way", "sport": "hockey;basketball;lacrosse", "name": "Madison Square Garden", "leisure": "stadium", "osm_id": "24801588"},"location": {"county": "New York", "country": "United States of America", "postcode": "10119", "road": "West 31st Street", "city": "New York"},"type": "Feature"},{"id": 12977552,"centroid": {"type":"POINT","coordinates":[40.75066, -73.99347]},"bounds": [[40.75066, -73.99347], [40.75066, -73.99347]],"properties": {"building": "yes", "osm_element": "node", "name": "Madison Square Garden Center", "addr:state": "NY", "osm_id": "368045579"},"location": {"county": "New York", "country": "United States of America", "postcode": "10119", "road": "West 33rd Street", "city": "New York"},"type": "Feature"}], "type": "FeatureCollection", "crs": {"type": "EPSG", "properties": {"code": 4326, "coordinate_order": [0, 1]}}}
@@ -1 +0,0 @@
1
- {}
@@ -1,59 +0,0 @@
1
- {
2
- "spatialReference": {
3
- "wkid": 4326,
4
- "latestWkid": 4326
5
- },
6
- "locations": [
7
- {
8
- "name": "Madison Square Garden",
9
- "extent": {
10
- "xmin": -74.000241000000003,
11
- "ymin": 40.744050000000001,
12
- "xmax": -73.988241000000002,
13
- "ymax": 40.756050000000002
14
- },
15
- "feature": {
16
- "geometry": {
17
- "x": -73.994238897999651,
18
- "y": 40.750049813000487
19
- },
20
- "attributes": {
21
- "Loc_name": "Gaz.WorldGazetteer.POI2",
22
- "Score": 100,
23
- "Match_addr": "Madison Square Garden",
24
- "Addr_type": "POI",
25
- "Type": "Sports Complex",
26
- "PlaceName": "Madison Square Garden",
27
- "Rank": "18",
28
- "AddBldg": "",
29
- "AddNum": "",
30
- "AddNumFrom": "",
31
- "AddNumTo": "",
32
- "Side": "",
33
- "StPreDir": "",
34
- "StPreType": "",
35
- "StName": "",
36
- "StType": "",
37
- "StDir": "",
38
- "Nbrhd": "",
39
- "City": "New York",
40
- "Subregion": "New York",
41
- "Region": "New York",
42
- "Postal": "10001",
43
- "PostalExt": "",
44
- "Country": "USA",
45
- "LangCode": "",
46
- "Distance": 0,
47
- "X": -73.994240000000005,
48
- "Y": 40.750050000000002,
49
- "DisplayX": -73.994240000000005,
50
- "DisplayY": 40.750050000000002,
51
- "Xmin": -74.000241000000003,
52
- "Xmax": -73.988241000000002,
53
- "Ymin": 40.744050000000001,
54
- "Ymax": 40.756050000000002
55
- }
56
- }
57
- }
58
- ]
59
- }
@@ -1,8 +0,0 @@
1
- {
2
- "spatialReference": {
3
- "wkid": 4326,
4
- "latestWkid": 4326
5
- },
6
- "locations": [
7
- ]
8
- }
@@ -1,21 +0,0 @@
1
- {
2
- "address": {
3
- "Address": "4 Avenue Gustave Eiffel",
4
- "Neighborhood": "7e Arrondissement",
5
- "City": "Paris",
6
- "Subregion": "Paris",
7
- "Region": "Île-de-France",
8
- "Postal": "75007",
9
- "PostalExt": null,
10
- "CountryCode": "FRA",
11
- "Loc_name": "FRA.PointAddress"
12
- },
13
- "location": {
14
- "x": 2.2956200048981574,
15
- "y": 48.858129997357558,
16
- "spatialReference": {
17
- "wkid": 4326,
18
- "latestWkid": 4326
19
- }
20
- }
21
- }
@@ -1,12 +0,0 @@
1
- {
2
- "city": "Plano",
3
- "region_code": "TX",
4
- "region_name": "Texas",
5
- "metrocode": "623",
6
- "zipcode": "75093",
7
- "longitude": "-96.8134",
8
- "country_name": "United States",
9
- "country_code": "US",
10
- "ip": "74.200.247.59",
11
- "latitude": "33.0347"
12
- }
@@ -1 +0,0 @@
1
- <html><title>404: Not Found</title><body>404: Not Found</body></html>
@@ -1 +0,0 @@
1
- test({"longt":"-73.992006","latt":"40.749101"});
@@ -1 +0,0 @@
1
- test({"longt":"-0.000000","error":{"description":"Postal Code is not in the proper Format.","code":"005"},"latt":"176946676.000000"});
@@ -1,34 +0,0 @@
1
- test({
2
- "latt":"45.423733",
3
- "longt":"-75.676333",
4
- "inlatt":"45.424035",
5
- "inlongt":"-75.675941",
6
- "betweenRoad1":"Chapel",
7
- "betweenRoad2":"Russell",
8
- "distance":"0.034",
9
- "stnumber":"289",
10
- "staddress":"Somerset ST E",
11
- "city":"Ottawa",
12
- "prov":"ON",
13
- "postal":"K1N6W1",
14
- "NearRoad":"Somerset ST E",
15
- "NearRoadDistance":"0.013",
16
- "intersection":{
17
- "lattx":"45.423733",
18
- "longtx":"-75.676333",
19
- "distance":"0.045",
20
- "street1":"Somerset St E",
21
- "street2":"Russell Ave",
22
- "city":"OTTAWA",
23
- "prov":"ON"
24
- },
25
- "major_intersection":{
26
- "lattx":"45.4241623853",
27
- "longtx":"-75.6753026518",
28
- "distance":"0.052",
29
- "street1":"Chapel St",
30
- "street2":"Somerset St E",
31
- "city":"OTTAWA",
32
- "prov":"ON"
33
- }
34
- });
@@ -1 +0,0 @@
1
- 40.678107, -73.897460, 4 Pennsylvania Ave, New York, NY, 11207
@@ -1 +0,0 @@
1
- 2: couldn't find this address! sorry
@@ -1 +0,0 @@
1
- {"input":{"address_components":{"number":"1101","street":"Pennsylvania","suffix":"Ave","postdirectional":"NW","formatted_street":"Pennsylvania Ave NW","city":"Washington","state":"DC"},"formatted_address":"1101 Pennsylvania Ave NW, Washington, DC"},"results":[{"address_components":{"number":"1101","street":"Pennsylvania","suffix":"Ave","postdirectional":"NW","formatted_street":"Pennsylvania Ave NW","city":"Washington","county":"District of Columbia","state":"DC","zip":"20004"},"formatted_address":"1101 Pennsylvania Ave NW, Washington, DC 20004","location":{"lat":38.895019,"lng":-77.028095},"accuracy":1,"accuracy_type":"range_interpolation"},{"address_components":{"number":"1101","street":"Pennsylvania","suffix":"Ave","postdirectional":"NW","formatted_street":"Pennsylvania Ave NW","city":"Washington","county":"District of Columbia","state":"DC","zip":"20004"},"formatted_address":"1101 Pennsylvania Ave NW, Washington, DC 20004","location":{"lat":38.895016122449,"lng":-77.028084377551},"accuracy":0.8,"accuracy_type":"range_interpolation"}]}
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Invalid API key"
3
- }
@@ -1,4 +0,0 @@
1
- {
2
- "error": "Could not geocode address, zip code, city or city/state are required"
3
- }
4
-
@@ -1 +0,0 @@
1
- {"input":{"address_components":{"number":"1101","street":"Pennsylvania","suffix":"Ave","postdirectional":"NW","city":"Washington","state":"DC"},"formatted_address":"1101 Pennsylvania Ave NW, Washington DC"},"results":[]}
@@ -1,4 +0,0 @@
1
- {
2
- "error": "You have reached your daily maximum, please add a payment method for continued use. You can configure billing at https://dash.geocod.io"
3
- }
4
-
@@ -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
- }