forked from golang/hotime
59 lines
1.0 KiB
Go
59 lines
1.0 KiB
Go
package baidu
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"net/url"
|
|
)
|
|
|
|
type BaiduMap struct {
|
|
Ak string
|
|
Url string
|
|
}
|
|
|
|
func (this *BaiduMap) Init(Ak string) {
|
|
//"ak=ZeT902EZvVgIoGVWEFK3osUm"
|
|
this.Ak = Ak
|
|
this.Url = "https://api.map.baidu.com/place/v2/suggestion?output=json" + "&ak=" + Ak
|
|
//query
|
|
}
|
|
|
|
// GetPosition 获取定位列表
|
|
func (this *BaiduMap) GetPosition(name string, region string) (string, error) {
|
|
|
|
client := &http.Client{}
|
|
if region == "" {
|
|
region = "全国"
|
|
}
|
|
reqest, err := http.NewRequest("GET", this.Url+"&query="+url.PathEscape(name)+"®ion="+url.PathEscape(region), nil)
|
|
|
|
if err != nil {
|
|
fmt.Println("Fatal error ", err.Error())
|
|
return "", err
|
|
}
|
|
response, err := client.Do(reqest)
|
|
defer response.Body.Close()
|
|
|
|
if err != nil {
|
|
fmt.Println("Fatal error ", err.Error())
|
|
return "", err
|
|
}
|
|
|
|
body, err := ioutil.ReadAll(response.Body)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
//fmt.Println(string(body))
|
|
|
|
return string(body), err
|
|
|
|
}
|
|
|
|
var DefaultBaiDuMap BaiduMap
|
|
|
|
func init() {
|
|
DefaultBaiDuMap = BaiduMap{}
|
|
}
|