givenLongitude := -73.9808 // 给定点的经度
givenLatitude := 40.7644 // 给定点的纬度
fmt.Println("---------111")
var userLocations []UserLocation
result := Orm.Model(&UserLocation{}).
Select("id, user_id, ST_Distance_Sphere(location, POINT(?, ?)) AS distance", givenLongitude, givenLatitude).
Order("distance").
Find(&userLocations)
fmt.Println("---------2222")
if result.Error != nil {
log.Fatal(result.Error)
}
fmt.Println("按照距离远近排序的用户位置:")
for _, ul := range userLocations {
fmt.Printf("ID: %d, User ID: %d, Latitude: %f, Longitude: %f, Distance: %.2f km %+v \n ", ul.ID, ul.UserID, ul.Latitude, ul.Longitude, ul.Location, ul.Distance)
}
gorm和geometry
最新推荐文章于 2024-07-17 21:40:20 发布