最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用百度地圖api通過(guò)redis實(shí)現(xiàn)地標(biāo)存儲(chǔ)及范圍坐標(biāo)點(diǎn)查詢功能

 更新時(shí)間:2021年08月14日 16:58:20   作者:魏振貝  
這篇文章主要介紹了使用百度地圖api通過(guò)redis實(shí)現(xiàn)地標(biāo)存儲(chǔ)及范圍坐標(biāo)點(diǎn)查詢功能,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下

1.首先拿到百度地圖開(kāi)發(fā)密鑰,進(jìn)入百度地圖開(kāi)放平臺(tái):百度地圖開(kāi)放平臺(tái)

(1)選擇開(kāi)發(fā)文檔>>web開(kāi)發(fā)>>JavaScript API

(2)需要申請(qǐng)密鑰才可使用,點(diǎn)擊申請(qǐng)密鑰(申請(qǐng)密鑰的IP白名單可以用‘ * '代替,所有網(wǎng)站都可用,但安全性很差,所有人都可以抓到這個(gè)ak來(lái)使用,也可以根據(jù)自己的應(yīng)用場(chǎng)景來(lái)設(shè)置) 

 2,Controller代碼

public class MapController : Controller
    {
        //map視圖
        public ActionResult Index()
        {
            return View();
        }
        /// <summary>
        /// 存入坐標(biāo)點(diǎn)
        /// </summary>
        /// <param name="Longitude">經(jīng)度</param>
        /// <param name="Latitude">緯度</param>
        /// <param name="Name">名稱</param>
        /// <returns></returns>
        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);
            //存入坐標(biāo)點(diǎn)
            var flag = RedisHelper.GeoAdd("zhongguo", Lng, Lat, Name);
 
            if (flag == true)
            {
                return Json(new { code = 1, message = "成功" });
            }
            else
            {
                return Json(new { code = 0, message = "提交失敗" });
            }
        }
        /// <summary>
        /// 獲取半徑范圍內(nèi)的其他坐標(biāo)
        /// </summary>
        /// <param name="lng">經(jīng)度</param>
        /// <param name="lat">緯度</param>
        /// <param name="ran">半徑</param>
        /// <returns></returns>
        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;
            //獲取周邊坐標(biāo)點(diǎn)
            (string member, decimal dist, decimal longitude, decimal latitude)[] list_ = RedisHelper.GeoRadiusWithDistAndCoord("zhongguo", Lng, Lat, Ran, K);
            return Json(list_, JsonRequestBehavior.AllowGet);
        }
    }

3,view代碼(注意填寫上面申請(qǐng)的密鑰)

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <title>地圖展示</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <style>
        body,
        html,
        #container {
            overflow: hidden;
            width: 100%;
            height: 100%;
            margin: 0;
            font-family: "微軟雅黑";
        }
 
        .info {
            z-index: 999;
            width: auto;
            min-width: 22rem;
            padding: .75rem 1.25rem;
            margin-left: 1.25rem;
            position: fixed;
            top: 1rem;
            background-color: #fff;
            border-radius: .25rem;
            font-size: 14px;
            color: #666;
            box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
        }
    </style>
    <link href="~/Content/button.css" rel="external nofollow"  rel="stylesheet" />
    <script src="http://api.map.baidu.com/api?type=webgl&v=1.0&ak=你的密鑰"></script>
    <script src="~/Scripts/jquery-3.4.1.min.js"></script>
    <script>
        function bing() {
        var lng = $("#lng").val();
        var lat = $("#lat").val();
        var ran = $("#ran").val();
 
        $.ajax({
            url: "@Url.Action("Get", "Map")",
            data: {
                lng: lng,
                lat: lat,
                ran:ran
            },
            type: "post",
            dataType: "json",
            success: function (data) {
                console.log(data)
 
                if (data != null) {
                    for (var i = 0; i < data.length; i++) {
                        var new_point = new BMapGL.Point(data[i]['Item3'], data[i]['Item4']);
                        console.log(data[i]['Item3'])
                        console.log(data[i]['Item4'])
                        var marker = new BMapGL.Marker(new_point);  // 創(chuàng)建標(biāo)注
                        map.addOverlay(marker);              // 將標(biāo)注添加到地圖中
                        map.panTo(new_point);
                    }
                }
            }
        });
        }
    </script>
</head>
<body>
    <div id="container"></div>
    <input type="text" id="ti" name="name" value="" placeholder="請(qǐng)輸入名稱" class="info" />
    <div id="re">
        經(jīng)度:
        <input type="text" id="lng" name="name" value="" />
        緯度:
        <input type="text" id="lat" name="name" value="" />
        范圍:
        <input type="text" id="ran" name="name" value="" />
        <button id="reu" name="name" onclick="bing()" value="查詢">查詢</button>
    </div>
    <input type="hidden" name="GetLng" value="" />
    <div id="allmap"></div>
</body>
</html>
<script>
    var map = new BMapGL.Map('container'); // 創(chuàng)建Map實(shí)例
    map.centerAndZoom(new BMapGL.Point(116.404, 39.915), 12); // 初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別
    map.enableScrollWheelZoom(true); // 開(kāi)啟鼠標(biāo)滾輪縮放
</script>
<script>
    var map = new BMapGL.Map('container');
    map.centerAndZoom(new BMapGL.Point(116.404, 39.928), 15);
    map.enableScrollWheelZoom(true);
    map.addEventListener('click', function (e) {
        alert( + e.latlng.lng + ',' + e.latlng.lat);
        if (confirm("是否添加此地址")) {
        var Longitude = e.latlng.lng;
        var Latitude = e.latlng.lat;
        var Name = $("#ti").val();
        $.ajax({
            url: "@Url.Action("Set", "Map")",
            data: {
                Longitude: Longitude,
                Latitude: Latitude,
                Name: Name
            },
            type: "post", 
            dataType: "json",
            success: function (data) {
                if (data.code) {
                    alert(data.message);
                }
                else {
                    alert(data.message);
                }
            }
        });
      }
    });
</script>
<script type="text/javascript">
        // 百度地圖API功能
</script>

到此這篇關(guān)于使用百度地圖api通過(guò)redis實(shí)現(xiàn)地標(biāo)存儲(chǔ)及范圍坐標(biāo)點(diǎn)查詢功能的文章就介紹到這了,更多相關(guān)百度地圖api地標(biāo)存儲(chǔ)范圍坐標(biāo)點(diǎn)查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis如何取hash的值

    redis如何取hash的值

    這篇文章主要介紹了redis如何取hash的值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • redis秒殺系統(tǒng)的實(shí)現(xiàn)

    redis秒殺系統(tǒng)的實(shí)現(xiàn)

    秒殺在很多活動(dòng)大促中都可以用到,本文主要介紹了redis秒殺系統(tǒng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • redis使用不當(dāng)導(dǎo)致應(yīng)用卡死bug的過(guò)程解析

    redis使用不當(dāng)導(dǎo)致應(yīng)用卡死bug的過(guò)程解析

    本文主要記一次找因redis使用不當(dāng)導(dǎo)致應(yīng)用卡死bug的過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • redis實(shí)現(xiàn)排行榜功能

    redis實(shí)現(xiàn)排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來(lái)實(shí)現(xiàn)排行榜功能,本文就來(lái)簡(jiǎn)單的介紹一下如何使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 用Lua腳本實(shí)現(xiàn)Redis原子操作的示例

    用Lua腳本實(shí)現(xiàn)Redis原子操作的示例

    本文主要介紹了用Lua腳本實(shí)現(xiàn)Redis原子操作的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • Redis分布式鎖的10個(gè)坑總結(jié)

    Redis分布式鎖的10個(gè)坑總結(jié)

    日常開(kāi)發(fā)中,經(jīng)常會(huì)碰到秒殺搶購(gòu)等業(yè)務(wù),為了避免并發(fā)請(qǐng)求造成的庫(kù)存超賣等問(wèn)題,我們一般會(huì)用到Redis分布式鎖,但是使用Redis分布式鎖,很容易踩坑哦,本文將給大家分析闡述,Redis分布式鎖的10個(gè)坑,需要的朋友可以參考下
    2023-05-05
  • Redis連接池監(jiān)控(連接池是否已滿)與優(yōu)化方法

    Redis連接池監(jiān)控(連接池是否已滿)與優(yōu)化方法

    本文詳細(xì)講解了如何在Linux系統(tǒng)中監(jiān)控Redis連接池的使用情況,以及如何通過(guò)連接池參數(shù)配置、系統(tǒng)資源使用情況、Redis命令監(jiān)控、外部監(jiān)控工具等多種方法進(jìn)行檢測(cè)和優(yōu)化,以確保系統(tǒng)在高并發(fā)場(chǎng)景下的性能和穩(wěn)定性,討論了連接池的概念、工作原理、參數(shù)配置,以及優(yōu)化策略等內(nèi)容
    2024-09-09
  • linux下安裝redis圖文詳細(xì)步驟

    linux下安裝redis圖文詳細(xì)步驟

    大家好,本篇文章主要講的是linux下安裝redis圖文詳細(xì)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Redis內(nèi)存碎片原理深入分析

    Redis內(nèi)存碎片原理深入分析

    這篇文章主要為大家介紹了Redis內(nèi)存碎片原理深入分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • windows下通過(guò)批處理腳本啟動(dòng)redis的操作

    windows下通過(guò)批處理腳本啟動(dòng)redis的操作

    本文主要給大家介紹了windows下通過(guò)批處理腳本啟動(dòng)redis的操作,windows下redis啟動(dòng),需要進(jìn)入redis安裝目錄,然后shift+右鍵,選擇“在此處打開(kāi)命令窗口”,然后輸入redis-server.exe redis.conf,就可以啟動(dòng)redis了,文中有詳細(xì)的圖文參考,感興趣的朋友可以參考下
    2023-12-12

最新評(píng)論

汨罗市| 满洲里市| 唐山市| 台南县| 新邵县| 东城区| 宁德市| 定安县| 株洲市| 治多县| 巍山| 嘉定区| 洪江市| 浦县| 佛山市| 简阳市| 天全县| 三江| 藁城市| 本溪市| 紫云| 琼结县| 岑溪市| 北票市| 玉溪市| 阿巴嘎旗| 承德市| 略阳县| 新巴尔虎右旗| 上饶县| 迁安市| 崇阳县| 赤城县| 衡南县| 岐山县| 襄汾县| 吉安县| 班玛县| 宣武区| 青浦区| 九江县|