Golang语言社区--使用百度API获取经纬度
时间:2022-05-05
本文章向大家介绍Golang语言社区--使用百度API获取经纬度,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"time"
)
func init() {
fmt.Println("Entry init!")
return
}
func main() {
fmt.Println("Entry main!")
fJingDu, fWeiDu := Get_JWData_By_Ctiy("上海")
fmt.Println("fJingDu:!", fJingDu)
fmt.Println("fWeiDu:!", fWeiDu)
time.Sleep(10 * time.Second)
return
}
//百度赌徒API申请
//http://www.funboxpower.com/498.html
// 经纬度对照网址
//http://www.docin.com/p-655216087.html
// key
//pckg0S4gcS65cSZbRdlxyb4kTq3DIAsQ
// url
//http://api.map.baidu.com/geocoder?address=地址&output=输出格式类型&key=用户密钥&city=城市名
//http://api.map.baidu.com/geocoder?address=%E6%88%90%E9%83%BD&output=json&key=pckg0S4gcS65cSZbRdlxyb4kTq3DIAsQ&city=%E6%88%90%E9%83%BD
// {
// "status":"OK",
// "result":{
// "location":{
// "lng":104.047017,
// "lat":30.645663
// },
// "precise":0,
// "confidence":40,
// "level":"u57ceu5e02"
// }
//}
type JWData struct {
Lng float64 // 经纬度
Lat float64
}
type CtiyJWData struct {
Location JWData
Precise int
Confidence int
Level string
}
type BodyData struct {
Status string
Result CtiyJWData
}
func Get_JWData_By_Ctiy(strCtiy string) (float64, float64) {
fmt.Println("Entry Get_JWData_By_Ctiy!")
resp, err := http.Get("http://api.map.baidu.com/geocoder?address=" + strCtiy + "&output=json&key=pckg0S4gcS65cSZbRdlxyb4kTq3DIAsQ&city=" + strCtiy)
if err != nil {
fmt.Println("http.Get err:", err.Error())
return 0.0, 0.0
}
body, errbody := ioutil.ReadAll(resp.Body)
if errbody != nil {
fmt.Println("ioutil.ReadAll errbody:", errbody.Error())
return 0.0, 0.0
}
fmt.Println("body:", string(body))
// 解析数据
st := &BodyData{}
json.Unmarshal(body, &st)
fmt.Println("st:", st.Status)
fmt.Println("st:", st.Result.Precise)
fmt.Println("st:", st.Result.Confidence)
fmt.Println("st:", st.Result.Level)
fmt.Println("st:", st.Result.Location.Lat)
fmt.Println("st:", st.Result.Location.Lng)
return st.Result.Location.Lat, st.Result.Location.Lng
}
- 多线程编程:阻塞、并发队列的使用总结
- 多线程编程:多线程并发制单的开发记录【一】
- 如何使用线程锁来提高多线程并发效率
- 如何在分布式环境中同步solr索引库和缓存信息
- 如何在分布式环境中同步solr索引库和缓存信息
- Info模式下的隐形杀手(SpringMVC同时使用<mvc:resources.../>和FormattingConversionServiceFactoryBean时出现的问题)
- 关于web.xml3.0启动报错
- [机器学习]-[数据预处理]-中心化 缩放 KNN(一)
- 信息安全不可或缺应用交付 还需安全交付
- 一张图带你看懂区块链项目生态
- python环境的安装
- python爬虫抓取网易云音乐歌词
- 区块链学堂——“遇见”拜占庭将军
- NVIDIA把消费级显卡拒绝在数据中心门外
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Flutter中Widget 、Element、RenderObject角色深入分析
- PyTorch8:损失函数
- 浅谈ThreadLocal
- 三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署
- VMware 安装运行 deepin 虚拟机 | 体验中国深度
- 单机KVM虚拟化快照定时创建删除快照
- 批量ping脚本
- 批量ssh信任脚本
- Oracle表级备份
- Linux脚本运行报错解决方法 bad interpreter: No such file or directory
- MySQLdump里的秘密,终于被我发现了
- HTTP各种特性总览
- django查询今天,昨天,一周,分组统计月,年
- 关于 z-index,你可能一直存在误区
- Java浮点数机制及所存在的问题