R code - Get geographical information from Baidu Map Service

# 
# API request - Baidu Map Service
# @z

rm(list = ls())
setwd('C:/Users/Zihan/iCloudDrive/Desktop/PGDoc/Year2-2021-2022/Project_TMA/Work202204/CountyTemp')
AK <- '...' # Access key
countylist <- haven::read_stata(file = "countyElevation.dta")
county <- as.matrix(countylist$county)

# module
library(rjson)
library(RCurl)

# initialization
baidu_lat <- c()
baidu_lng <- c()
baidu_address <-c()
baidu_geo <- c()
content = data.frame()
count = 0
# request

for (count in c(1:length(county))) {
  location <- county[count]
  print(location)
  url<-paste("http://api.map.baidu.com/geocoding/v3/?address=",location,"&output=json&ak=",AK,sep="")
  url_string <- URLencode(url)
  # getURI
  connect <- getURI(url_string)      
  # Process JSON
  temp_geo <- fromJSON(connect)
  temp_lat<-temp_geo$result$location$lat
  temp_lng<-temp_geo$result$location$lng
  comprehens <- temp_geo$result$comprehension
  if (temp_geo$status==0){
    
    #data
    baidu_geo  <-c(baidu_geo,temp_geo)
    content[count,1] <- county[count]
    content[count,2] <- temp_lng
    content[count,3] <- temp_lat
    content[count,4] <- comprehens
  }
}
colnames(content) <- c("county","lng","lat",'comprehensive')
haven::write_dta(data = content,path = "countyMatch2.dta")