如何使用 Go 获取最近的城市地理坐标?

如何使用 Go 从坐标(例如 49.014,8.4043)获取地理位置(例如最近的城市)?


我尝试使用golang-geo:


package main


import (

    "log"


    "github.com/kellydunn/golang-geo"

)


func main() {

    p := geo.NewPoint(49.014, 8.4043)

    geocoder := new(geo.GoogleGeocoder)

    geo.HandleWithSQL()

    res, err := geocoder.ReverseGeocode(p)

    if err != nil {

        log.Println(err)

    }

    log.Println(string(res))

}

但它给Schloßplatz 23, 76131 Karlsruhe, Germany. 我想 Karlsruhe(所以:只有城市)。


我如何只获得城市?


炎炎设计
浏览 373回答 3
3回答

波斯汪

该库的Geocoder接口文档说(强调我的):... 反向地理编码应该接受一个指向 Point 的指针,并返回最能代表它的街道地址。因此,您必须从街道地址解析城市名称(这是它自己的挑战),或者找到一个明确提供城市的不同地理编码器库。

杨__羊羊

golang-geo这里的作者。对于这个堆栈溢出问题沿着以下,我#31回答@moose的已发行首要的问题在这里。tl;dr 对这个问题的回答是,虽然谷歌地理编码 API 确实支持获得不同精度级别的一些模糊概念,但迄今为止它尚未在 golang-geo 中实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go