📌  相关文章
📜  Google Maps API:在我的谷歌地图上的标记中添加字母 - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:31:02.774000             🧑  作者: Mango

Google Maps API:在我的谷歌地图上的标记中添加字母 - Go 编程语言

在谷歌地图上添加标记是谷歌地图 API 的一项重要功能。这里我们将介绍如何利用 Go 编程语言在标记中添加字母。

准备工作

在开始之前,我们需要以下几个准备工作:

  • 一个有效的 API 密钥
  • 安装 go 程序
  • 安装 go get 命令
步骤
  1. src 目录中创建一个新的 Go 项目,命名为 google-maps-marker

    mkdir google-maps-marker
    cd google-maps-marker
    
  2. 初始化一个新的 Go 模块,并安装必要的依赖项:

    go mod init google-maps-marker
    go get github.com/joho/godotenv
    go get google.golang.org/api/maps/v1
    

    这里我们使用了 godotenvGoogle Maps API 的官方 Go SDK。godotenv 可以使我们轻松加载环境变量。使用 go get 命令会从 Github 上下载 godotenvGoogle Maps API 相关的 Go SDK。

  3. 创建一个 .env 文件,它需要包含我们的谷歌地图 API 密钥:

    API_KEY=your_api_key
    
  4. 创建一个 main.go 文件,并写入以下代码:

    package main
    
    import (
        "context"
        "fmt"
        "os"
    
        "github.com/joho/godotenv"
        "google.golang.org/api/maps/v1"
    )
    
    func main() {
        err := godotenv.Load()
        if err != nil {
            fmt.Println("Error loading .env file")
            os.Exit(1)
        }
    
        apiKey := os.Getenv("API_KEY")
    
        client, err := maps.NewClient(context.Background())
        if err != nil {
            fmt.Printf("Failed to create client: %v\n", err)
            os.Exit(1)
        }
    
        req := &maps.StaticMapRequest{
            Center: "New York, NY",
            Zoom:   14,
            Size:   "400x400",
            Markers: []maps.Marker{
                {
                    Label:   "A",
                    Color:   "red",
                    Location: &maps.LatLng{
                        Lat: 40.71402,
                        Lng: -73.992,
                    },
                },
            },
            APIKey: apiKey,
        }
    
        url, err := req.URL()
        if err != nil {
            fmt.Printf("Failed to generate URL: %v\n", err)
            os.Exit(1)
        }
    
        fmt.Printf("Static map URL: %s\n", url)
    }
    

    代码中,我们首先加载从 .env 文件加载 API 密钥。然后,我们创建了一个谷歌地图客户端,并使用它来创建一个请求以获取谷歌地图的静态图像。这个地图将以纽约市为中心,缩放级别为14,并且还有一个标记,标记指定为“ A”,位于纽约市中心的一定位置。

    我们使用谷歌地图 API 的 StaticMapRequest 结构从谷歌地图获取图像。可以看到,我们添加了一个标记到地图上,标记的标签为 “A”。

    最后,我们输出图像的 URL,该 URL 可以复制到浏览器中以查看生成的图像。

  5. 输入以下命令运行程序:

    go run main.go
    

    程序会生成一个 URL,如下所示:

    Static map URL: https://maps.googleapis.com/maps/api/staticmap?center=New+York%2C+NY&markers=color%3Ared%7Clabel%3AA%7C40.71402%2C-73.992&size=400x400&zoom=14&key=your_api_key
    
  6. 将 URL 复制到浏览器中,您将看到一个谷歌地图,其中一个标记标有字母 “A”。

现在您已经成功地在谷歌地图上添加了一个标记,并在标记中添加了一个字母。您可以使用这种方法添加多个标记,并在每个标记中使用不同的字母或数字。