登录
首页 >  数据库 >  Redis

使用百度地图api通过redis实现地标存储及范围坐标点查询功能

来源:脚本之家

时间:2022-12-31 17:01:13 133浏览 收藏

本篇文章给大家分享《使用百度地图api通过redis实现地标存储及范围坐标点查询功能》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

1.首先拿到百度地图开发密钥,进入百度地图开放平台:百度地图开放平台

(1)选择开发文档>>web开发>>JavaScript API

(2)需要申请密钥才可使用,点击申请密钥(申请密钥的IP白名单可以用‘ * '代替,所有网站都可用,但安全性很差,所有人都可以抓到这个ak来使用,也可以根据自己的应用场景来设置) 

 2,Controller代码

public class MapController : Controller
    {
        //map视图
        public ActionResult Index()
        {
            return View();
        }
        /// 
        /// 存入坐标点
        /// 
        /// 经度
        /// 纬度
        /// 名称
        /// 
        public ActionResult Set(string Longitude, string Latitude, string Name)
        {
            //初始化redis
            CSRedis.CSRedisClient cSRedis = new CSRedis.CSRedisClient("192.168.56.131:6380,password=123456,defaultDatabase = 0");
            RedisHelper.Initialization(cSRedis);
 
            decimal Lng = decimal.Parse(Longitude);
            decimal Lat = decimal.Parse(Latitude);
            //存入坐标点
            var flag = RedisHelper.GeoAdd("zhongguo", Lng, Lat, Name);
 
            if (flag == true)
            {
                return Json(new { code = 1, message = "成功" });
            }
            else
            {
                return Json(new { code = 0, message = "提交失败" });
            }
        }
        /// 
        /// 获取半径范围内的其他坐标
        /// 
        /// 经度
        /// 纬度
        /// 半径
        /// 
        public ActionResult Get(string lng, string lat, string ran)
        {
            //初始化redis
            CSRedis.CSRedisClient cSRedis = new CSRedis.CSRedisClient("192.168.56.131:6380,password=123456,defaultDatabase = 0");
            RedisHelper.Initialization(cSRedis);
 
            decimal Lng = decimal.Parse(lng);
            decimal Lat = decimal.Parse(lat);
            decimal Ran = decimal.Parse(ran);
            var K = CSRedis.GeoUnit.km;
            //获取周边坐标点
            (string member, decimal dist, decimal longitude, decimal latitude)[] list_ = RedisHelper.GeoRadiusWithDistAndCoord("zhongguo", Lng, Lat, Ran, K);
            return Json(list_, JsonRequestBehavior.AllowGet);
        }
    }

3,view代码(注意填写上面申请的密钥)

@{
    Layout = null;
}



    地图展示
经度: 纬度: 范围:

理论要掌握,实操不能落!以上关于《使用百度地图api通过redis实现地标存储及范围坐标点查询功能》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表