From 24ac136efc8238e3b35b9cc38ecd78f9486cf0e6 Mon Sep 17 00:00:00 2001 From: jiangyong27 Date: Fri, 28 Jun 2024 22:07:15 +0800 Subject: [PATCH] baidu lbs --- baidu/lbs.go | 41 +++++++++++++++++++++++ adapi/sdk.go => unify/ad_sdk.go | 2 +- adapi/sdk_test.go => unify/ad_sdk_test.go | 2 +- adapi/type.go => unify/ad_type.go | 2 +- {adminapi => unify}/application.go | 2 +- {adminapi => unify}/message.go | 2 +- {adminapi => unify}/message_test.go | 2 +- {payapi => unify}/pay.go | 2 +- {payapi => unify}/pay_test.go | 2 +- payapi/type.go => unify/pay_type.go | 2 +- 10 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 baidu/lbs.go rename adapi/sdk.go => unify/ad_sdk.go (99%) rename adapi/sdk_test.go => unify/ad_sdk_test.go (96%) rename adapi/type.go => unify/ad_type.go (99%) rename {adminapi => unify}/application.go (98%) rename {adminapi => unify}/message.go (98%) rename {adminapi => unify}/message_test.go (95%) rename {payapi => unify}/pay.go (99%) rename {payapi => unify}/pay_test.go (94%) rename payapi/type.go => unify/pay_type.go (98%) diff --git a/baidu/lbs.go b/baidu/lbs.go new file mode 100644 index 0000000..45cb681 --- /dev/null +++ b/baidu/lbs.go @@ -0,0 +1,41 @@ +package baidu + +import ( + "encoding/json" + "errors" + "fmt" + "github.com/smbrave/goutil" +) + +type addressRsp struct { + Status int `json:"status"` + Result struct { + FormattedAddress string `json:"formatted_address"` + } `json:"result"` +} + +type Lbs struct { + ak string +} + +func NewLbs(ak string) *Lbs { + return &Lbs{ + ak: ak, + } +} + +func (l *Lbs) GetAddress(lng, lat float64) (string, error) { + reqUrl := fmt.Sprintf("https://api.map.baidu.com/reverse_geocoding/v3/?ak=s&output=json&coordtype=wgs84&location=%f,%f", l.ak, lat, lng) + rspBody, err := goutil.HttpGet(reqUrl, nil) + if err != nil { + return "", err + } + var rsp addressRsp + if err := json.Unmarshal(rspBody, &rsp); err != nil { + return "", err + } + if rsp.Status != 0 { + return "", errors.New(string(rspBody)) + } + return rsp.Result.FormattedAddress, nil +} diff --git a/adapi/sdk.go b/unify/ad_sdk.go similarity index 99% rename from adapi/sdk.go rename to unify/ad_sdk.go index 085b5d2..92398a0 100644 --- a/adapi/sdk.go +++ b/unify/ad_sdk.go @@ -1,4 +1,4 @@ -package adapi +package unify import ( "encoding/json" diff --git a/adapi/sdk_test.go b/unify/ad_sdk_test.go similarity index 96% rename from adapi/sdk_test.go rename to unify/ad_sdk_test.go index d06d699..b68b879 100644 --- a/adapi/sdk_test.go +++ b/unify/ad_sdk_test.go @@ -1,4 +1,4 @@ -package adapi +package unify import ( "fmt" diff --git a/adapi/type.go b/unify/ad_type.go similarity index 99% rename from adapi/type.go rename to unify/ad_type.go index b15e6ec..0a7bb0a 100644 --- a/adapi/type.go +++ b/unify/ad_type.go @@ -1,4 +1,4 @@ -package adapi +package unify import ( "errors" diff --git a/adminapi/application.go b/unify/application.go similarity index 98% rename from adminapi/application.go rename to unify/application.go index b846712..1665ea0 100644 --- a/adminapi/application.go +++ b/unify/application.go @@ -1,4 +1,4 @@ -package adminapi +package unify import ( "encoding/json" diff --git a/adminapi/message.go b/unify/message.go similarity index 98% rename from adminapi/message.go rename to unify/message.go index 76d9092..f0f838d 100644 --- a/adminapi/message.go +++ b/unify/message.go @@ -1,4 +1,4 @@ -package adminapi +package unify import ( "encoding/json" diff --git a/adminapi/message_test.go b/unify/message_test.go similarity index 95% rename from adminapi/message_test.go rename to unify/message_test.go index 7fb69c2..e6cc200 100644 --- a/adminapi/message_test.go +++ b/unify/message_test.go @@ -1,4 +1,4 @@ -package adminapi +package unify import ( "fmt" diff --git a/payapi/pay.go b/unify/pay.go similarity index 99% rename from payapi/pay.go rename to unify/pay.go index 0e68c01..74acbec 100644 --- a/payapi/pay.go +++ b/unify/pay.go @@ -1,4 +1,4 @@ -package payapi +package unify import ( "encoding/json" diff --git a/payapi/pay_test.go b/unify/pay_test.go similarity index 94% rename from payapi/pay_test.go rename to unify/pay_test.go index 78babb7..77976c6 100644 --- a/payapi/pay_test.go +++ b/unify/pay_test.go @@ -1,4 +1,4 @@ -package payapi +package unify import ( "encoding/json" diff --git a/payapi/type.go b/unify/pay_type.go similarity index 98% rename from payapi/type.go rename to unify/pay_type.go index 9ec041a..a41fab4 100644 --- a/payapi/type.go +++ b/unify/pay_type.go @@ -1,4 +1,4 @@ -package payapi +package unify type OrderUser struct { UserId string `json:"userId"`