R调用百度地图API -获取经纬度

由于百度地图API接口更新了,
所以重新编辑了别人的代码,以适应目前的版本。

AK <- '你自己申请的KPI'
add_id <- c("北京天安门","南京","杭州","芜湖",“常州”)
location <- as.character(add_id)

#载入需要的包
library(rjson)
library(RCurl)

#设定空向量
baidu_lat <- c()
baidu_lng <- c()
baidu_address <-c()
baidu_geo <- c()
#列表循环
for (location in add_id) {
  url<-paste("http://api.map.baidu.com/geocoding/v3/?address=",location,"&output=json&ak=你自己的申请的AK",sep="")
  url_string <- URLencode(url)
  # 捕获连接对象
  connect <- getURI(url_string)      
  # 处理json对象
  temp_geo <- fromJSON(connect)
  temp_lat<-temp_geo$result$location$lat
  temp_lng<-temp_geo$result$location$lng
 
  #存储数据
  baidu_geo  <-c(baidu_geo,temp_geo)
  baidu_lat <- c(baidu_lat,temp_lat)
  baidu_lng <- c(baidu_lng,temp_lng)
  baidu_address <- c(baidu_address,location)
}
content <- data.frame(baidu_address,baidu_lat,baidu_lng, stringsAsFactors = F)

#查看数据导出数据
content;
结果如下
```![在这里插入图片描述](https://img-blog.csdnimg.cn/20200326224308183.jpg)

  

>引用自https://zhuanlan.zhihu.com/p/24251351
>引用自https://www.zhihu.com/question/28565852

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用unigui获取百度地图经纬度可以通过以下步骤实现: 1. 首先,确保已在项目中引入百度地图API资源,可以直接在unigui项目中的HTML模板中引入API资源链接。 ```html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your_ak"></script> ``` 在这里,`your_ak`需要替换为你自己申请的百度地图API密钥。 2. 在unigui的界面布局中,添加一个文本框用于显示经纬度信息,并添加一个按钮用于触发获取经纬度的操作。 3. 在按钮的点击事件中,调用百度地图API进行经纬度获取。可以使用以下代码: ```javascript function getLngLat(){ var map = new BMap.Map("mapContainer"); // 创建地图实例,"mapContainer"为地图容器的ID var geolocation = new BMap.Geolocation(); // 开启定位 geolocation.getCurrentPosition(function(r){ if(this.getStatus() == BMAP_STATUS_SUCCESS){ var lng = r.point.lng; // 经度 var lat = r.point.lat; // 纬度 document.getElementById("lngLatText").value = lng + "," + lat; // 显示经纬度信息 } },{enableHighAccuracy: true}) } ``` 在这段代码中,`mapContainer`为地图容器的ID,`lngLatText`为文本框的ID用于显示经纬度。 4. 确保unigui页面加载完成后,调用获取经纬度的函数: ```javascript Ext.onReady(function(){ getLngLat(); }); ``` 当页面加载完成后,会自动获取经纬度信息,并显示在文本框中。 通过以上步骤,就可以在unigui中使用百度地图API获取经纬度信息,并将其展示在界面中。需要注意的是,使用百度地图API需要在项目中引入相应的资源文件,并且需要提供有效的API密钥才能正常使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值