第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Go語言學習之:計算兩地之間的導航距離

標簽:
Go

有时候作为一个新手而言,我们遇到的问题,就是我没有见过这样的东西,接触新事物的能力有点差,
我就是这样,找了很久计算导航距离的SDK没有找到,只好自己写了,希望能给大家一点帮助,直接贴代码了

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

type Distance struct {
    origin      string
    destination string
}

type AnalyzeJson struct {
    Status  int    `json:"status"`
    Message string `json:"message"`
    Info    struct {
        Copyright struct {
            Text     string `json:"text"`
            ImageURL string `json:"imageUrl"`
        } `json:"copyright"`
    } `json:"info"`
    Result struct {
        Elements []struct {
            Distance struct {
                Text  string `json:"text"`
                Value int    `json:"value"`
            } `json:"distance"`
            Duration struct {
                Text  string `json:"text"`
                Value int    `json:"value"`
            } `json:"duration"`
        } `json:"elements"`
    } `json:"result"`
}

var (
    // 基础URL
    baseURL = "http://api.map.baidu.com/direction/v1/routematrix?+" +
        "output=%s&origins=%s&model=%s&destinations=%s&ak=%s"
    // ak
    ak = "百度申请一个你自己的AK就可以了,很简单"
    // 出行方式是driving
    model = "driving"
    // 输出方式
    output = "json"
    // 解析结果
    distanceJson AnalyzeJson
)

func (d Distance) CalculateDistance() string {

    DistanceURL := fmt.Sprintf(baseURL, output,
        d.origin, model, d.destination, ak)

    req, _ := http.NewRequest("GET", DistanceURL, nil)
    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()

    body, _ := ioutil.ReadAll(res.Body)
    err := json.Unmarshal([]byte(body), &distanceJson)
    if err != nil {
        panic(err)
    }
    elementResult := distanceJson.Result.Elements
    for _, value := range elementResult {
        FinalDistance := value.Distance.Text
        return FinalDistance
    }
    return ""
}

func main() {
    root := Distance{
        origin:      "北京",
        destination: "南京",
    }
    fmt.Println(root.CalculateDistance())
}

有不明白的 可以再下面 给我留言,有好的建议的也可以。哈哈

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消