package service import ( "dubbo.apache.org/dubbo-go/v3/common/logger" service "github.com/fonchain_enterprise/fonchain-main/api" "github.com/fonchain_enterprise/fonchain-main/pkg/e" "github.com/fonchain_enterprise/fonchain-main/pkg/serializer" "github.com/fonchain_enterprise/fonchain-main/pkg/utils/plat" "github.com/gin-gonic/gin" "strings" ) func LatLngToAddress(c *gin.Context) { req := plat.LatLng{} if err := c.ShouldBind(&req); err != nil { logger.Errorf("LatLng ShouldBind err", err) service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Failed, }) return } res, err := plat.ExchangeLatLngToAddress(req.Lat, req.Lng) if err != nil { service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Ok, }) return } var address []string if res.Resp.RespCode == 0 || res.Resp.RespMsg == "ok" { address = append(address, res.Data.Address) if res.Data.Reference.LandmarkL1.Name != "" { address = append(address, res.Data.Reference.LandmarkL1.Name) } if res.Data.Reference.LandmarkL2.Name != "" { address = append(address, res.Data.Reference.LandmarkL2.Name) } } service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Data: strings.Join(address, ""), Status: e.Ok, }) }