jiangbeilu 发表于 2018-1-25 11:24 
用这一步去得到geo,有这么好的工具为什么还要用readlines?
好像没有跑出来?
baidu_lng,latitude=baidu_lat这两个都是空的
代码是这样的——
baidu_lng <- c()
baidu_lat <- c()
ak <- "86RkXL5ZwPqWg89F1Rip……"   #百度地图api的秘钥
#加载包
library(rjson)
library(RCurl)
#循环解析过程
for (location in address) {
  #生成规则的url地址(具体参数可参考Geocoding API文档)
  url <- paste('http://api.map.baidu.com/geocoder/v2/?ak=',ak,'&callback=renderOption&output=json&address=',location,sep="")
  #利用URLencode()转换为可解析的URL地址
  url_string <- URLencode(url)
  geo <- fromJSON(file=url)
  
                  #在解析结果中提取经纬度
                  lng<-geo$result$location$lng
                  lat<-geo$result$location$lat
                  #存储到已经建好的字段中
                  baidu_lng <- c(baidu_lng,lng)
                  baidu_lat <- c(baidu_lat,lat)
}
#整理结果
result <- data.frame(address=address,longitude=baidu_lng,latitude=baidu_lat)