百度地图高级开发:map.getDistance计算多点之间的距离并输入矩阵

简介: 百度地图高级开发:map.getDistance计算多点之间的距离并输入矩阵

在数学中,一个距离矩阵是一个包含一组点两两之间距离的矩阵(即 二维数组)。因此给定N个欧几里得空间中的点,其距离矩阵就是一个非负实数作为元素的N×N的对称矩阵。

——百度百科



项目要点

  1. 1.map.getDistance接口方法的使用;
  2. 2.javascript循环的基础知识;


地图及矩阵容器

<div id="container"></div>
<div id="chtml"></div>


异步加载地图

    function loadJScript() {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = 'http://api.map.baidu.com/api?v=2.0&ak=11Z8uiP8kIz6AG0Vjiwz***&callback=init';
        document.body.appendChild(script);
    }
    window.onload = loadJScript;


初始化地图

    //执行地图;
    var map;//全局函数,便于调用;
    function init() {
        map = new BMap.Map('container'); // 创建Map实例
        var point = new BMap.Point(121.554586, 29.813444); // 创建点坐标
        map.centerAndZoom(point, 17);
        map.enableScrollWheelZoom(); // 启用滚轮放大缩小
        var poiArr = [];
        poiArr[0] = new BMap.Point(121.554874, 29.813311);
        poiArr[1] = new BMap.Point(121.554586, 29.813444);
        poiArr[2] = new BMap.Point(121.556667, 29.81113);
        poiArr[3] = new BMap.Point(121.556273, 29.814582);
        poiArr[4] = new BMap.Point(121.552709, 29.814994);
        poiArr[5] = new BMap.Point(121.553161, 29.813697);
        //console.log(poiArr);


循环计算距离并输出

        //循环计算距离并输出;
        var cHtml = "<table border='1' width='60%'><tr align='center'><td>序号</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td>";
        for (var i = 0; i < poiArr.length; i++) {
            cHtml += "<tr align='center'><td>" + (i + 1) + "</td>";
            for (var j = 0; j < poiArr.length; j++) {
                cHtml += "<td>" + map.getDistance(poiArr[i], poiArr[j]).toFixed(2) + "</td>";
            }
            cHtml += "</tr>"
        }
        cHtml += "</table>";
        document.getElementById("chtml").innerHTML = cHtml;
    }


@lockdata.cn

相关文章
|
27天前
|
存储 分布式计算 Java
Stream很好,Map很酷,但答应我别用toMap():Java开发中的高效集合操作
在Java的世界里,Stream API和Map集合无疑是两大强大的工具,它们极大地简化了数据处理和集合操作的复杂度。然而,在享受这些便利的同时,我们也应当警惕一些潜在的陷阱,尤其是当Stream与Map结合使用时。本文将深入探讨Stream与Map的优雅用法,并特别指出在使用toMap()方法时需要注意的问题,旨在帮助大家在工作中更高效、更安全地使用这些技术。
33 0
|
3月前
|
资源调度 JavaScript 定位技术
Vue2使用百度地图展示或搜索地点(vue-baidu-map)
本文介绍了如何在 Vue 项目中使用 `vue-baidu-map` 插件,包括安装、全局注册及具体应用。首先通过 `yarn add vue-baidu-map` 安装插件,并在 `main.js` 中全局注册。然后展示了如何在地图上显示特定位置的标记,以及如何搜索地点并获取其经纬度和详细地址信息。代码示例提供了详细的实现方法和样式调整。如需使用,请确保已获取百度地图 API 的密钥。
338 1
|
3月前
|
Java Serverless Go
Golang 开发函数计算问题之在 Golang 中避免 "concurrent map writes" 异常如何解决
Golang 开发函数计算问题之在 Golang 中避免 "concurrent map writes" 异常如何解决
|
4月前
|
定位技术 开发者
百度地图开发 —— 获取百度地图开发的 AK
百度地图开发 —— 获取百度地图开发的 AK
302 3
|
4月前
|
JavaScript 定位技术
vue-baidu-map 绘制行政区划的轮廓,添加行政区划名称(含给覆盖物添加点击事件)——vue 百度地图开发
vue-baidu-map 绘制行政区划的轮廓,添加行政区划名称(含给覆盖物添加点击事件)——vue 百度地图开发
234 1
|
4月前
|
JavaScript 定位技术
vue 百度地图开发【教程】3. 自定义百度地图主题
vue 百度地图开发【教程】3. 自定义百度地图主题
145 0
|
4月前
|
JavaScript 定位技术
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
382 0
|
6月前
|
存储 Kubernetes 容器
百度搜索:蓝易云【Kubernetes使用helm部署NFS Provisioner】
现在,你已经成功使用Helm部署了NFS Provisioner,并且可以在Kubernetes中创建使用NFS存储的PersistentVolumeClaim。
199 10
|
6月前
百度搜索:蓝易云【什么是HTTP长轮询?】
现在,HTTP长轮询逐渐被WebSocket等更高效的实时通信技术所替代,但了解HTTP长轮询仍然有助于理解实时数据推送的基本原理。
124 9
|
6月前
|
移动开发 Shell Linux
百度搜索:蓝易云【Shell错误:/bin/bash^M: bad interpreter: No such file or directory】
将 `your_script.sh`替换为你的脚本文件名。运行此命令后,脚本文件的换行符将被转换为Linux格式,然后就可以在Linux系统上正常执行脚本了。
72 8