df <- google_reverse_geocode(location = c(60.33153798,11.30441017),
result_type = c("street_address", "postal_code"),
location_type = "rooftop",
key = api_key,
simplify = TRUE)
df$results$address_components
[[1]]
long_name short_name types
1 6A 6A street_number
2 Brennhøgda Brennhøgda route
3 Eidsvoll Eidsvoll postal_town
4 Eidsvoll Eidsvoll administrative_area_level_2, political
5 Akershus Akershus administrative_area_level_1, political
6 Norway NO country, political
7 2080 2080 postal_code
[[2]]
long_name short_name types
1 10 10 street_number
2 Brennhøgda Brennhøgda route
3 Eidsvoll Eidsvoll postal_town
4 Eidsvoll Eidsvoll administrative_area_level_2, political
5 Akershus Akershus administrative_area_level_1, political
6 Norway NO country, political
7 2080 2080 postal_code
[[3]]
long_name short_name types
1 11 11 street_number
2 Brennsletta Brennsletta route
3 Eidsvoll Eidsvoll postal_town
4 Eidsvoll Eidsvoll administrative_area_level_2, political
5 Akershus Akershus administrative_area_level_1, political
6 Norway NO country, political
7 2080 2080 postal_code
任何帮助/指示都将不胜感激。
基于您提供的示例,我看不出
opentreetMap
在哪里失败。访问API的功能无URL编码和检查coords2address = \(lon, lat) {
url = "https://nominatim.openstreetmap.org/search?q="
enc = paste0(url, lon, '%2C+', lat, '&format=json')
r = rjson::fromJSON(file = enc)
if(length(r)) lapply(r, \(i) i['display_name'])
}
没有失败
> coords2address(58.612825, 8.829250)
[[1]]
[[1]]$display_name
[1] "Ramberget, Båslandsveien, Tvedestrand, Agder, 4934, Norge"
这显然与
> tmaptools::rev_geocode_OSM(8.829250, 58.612825)[[1]]$name
[1] "Ramberget, Båslandsveien, Tvedestrand, Agder, 4934, Norge"