GeocorderのAPIはGoogleを使ってましたが、課金されるので、フリーなのを探してたところ見つけました。
SDKも多数あってチュートリアルも詳しいです。https://opencagedata.com/code
経緯度を渡すと、タイムゾーンも取得できます。
日本の郵便番号を渡すと、誤結果が多いので地名で渡してます。
デモページでのレスポンス
OpenCage Geocorder : https://opencagedata.com/
HTTP Status code: 200
HTTP Headers:
Content-Type: application/json; charset=utf-8
access-control-allow-origin: *
X-RateLimit-Limit: 2500
X-RateLimit-Remaining: 2499
X-RateLimit-Reset: 1589155200
Content:
{
"documentation": "https://opencagedata.com/api",
"licenses": [
{
"name": "see attribution guide",
"url": "https://opencagedata.com/credits"
}
],
"rate": {
"limit": 2500,
"remaining": 2499,
"reset": 1589155200
},
"results": [
{
"annotations": {
"DMS": {
"lat": "31° 47' 33.88056'' N",
"lng": "35° 13' 4.46736'' E"
},
"MGRS": "36RYA0998619605",
"Maidenhead": "KM71ot60dg",
"Mercator": {
"x": 3920439.541,
"y": 3713626.637
},
"OSM": {
"edit_url": "https://www.openstreetmap.org/edit?node=2754824262#map=17/31.79274/35.21791",
"note_url": "https://www.openstreetmap.org/note/new#map=17/31.79274/35.21791&layers=N",
"url": "https://www.openstreetmap.org/?mlat=31.79274&mlon=35.21791#map=17/31.79274/35.21791"
},
"UN_M49": {
"regions": {
"ASIA": "142",
"IL": "376",
"WESTERN_ASIA": "145",
"WORLD": "001"
},
"statistical_groupings": [
"MEDC"
]
},
"callingcode": 972,
"currency": {
"alternate_symbols": [
"ש״ח",
"NIS"
],
"decimal_mark": ".",
"html_entity": "₪",
"iso_code": "ILS",
"iso_numeric": "376",
"name": "Israeli New Sheqel",
"smallest_denomination": 10,
"subunit": "Agora",
"subunit_to_unit": 100,
"symbol": "₪",
"symbol_first": 1,
"thousands_separator": ","
},
"flag": "🇮🇱",
"geohash": "sv9hc7syhtphz8kd165p",
"qibla": 157.26,
"roadinfo": {
"drive_on": "right",
"road": "דויד חזן",
"speed_in": "km/h"
},
"sun": {
"rise": {
"apparent": 1589078820,
"astronomical": 1589073300,
"civil": 1589077200,
"nautical": 1589075340
},
"set": {
"apparent": 1589127900,
"astronomical": 1589133360,
"civil": 1589129460,
"nautical": 1589131380
}
},
"timezone": {
"name": "Asia/Jerusalem",
"now_in_dst": 1,
"offset_sec": 10800,
"offset_string": "+0300",
"short_name": "IDT"
},
"what3words": {
"words": "とつじょ・はずれて・あなぐま"
}
},
"bounds": {
"northeast": {
"lat": 31.7928446,
"lng": 35.2180076
},
"southwest": {
"lat": 31.7926446,
"lng": 35.2178076
}
},
"components": {
"ISO_3166-1_alpha-2": "IL",
"ISO_3166-1_alpha-3": "ISR",
"_category": "building",
"_type": "building",
"city": "エルサレム",
"continent": "Asia",
"country": "イスラエル",
"country_code": "il",
"house_number": "11",
"neighbourhood": "קרית בעלז",
"road": "דויד חזן",
"state": "מחוז ירושלים",
"suburb": "הבוכרים"
},
"confidence": 10,
"formatted": "דויד חזן 11, エルサレム, イスラエル",
"geometry": {
"lat": 31.7927446,
"lng": 35.2179076
}
}
],
"status": {
"code": 200,
"message": "OK"
},
"stay_informed": {
"blog": "https://blog.opencagedata.com",
"twitter": "https://twitter.com/OpenCage"
},
"thanks": "For using an OpenCage API",
"timestamp": {
"created_http": "Sun, 10 May 2020 01:59:15 GMT",
"created_unix": 1589075955
},
"total_results": 1
}
フリーでの制限は、1リクエスト/秒, 2500リクエスト/日 となってます。
コメントを投稿するにはログインしてください。