百度地图高级开发: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

相关文章
|
7月前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
105 3
|
4月前
|
资源调度 JavaScript 定位技术
Vue2使用百度地图展示或搜索地点(vue-baidu-map)
本文介绍了如何在 Vue 项目中使用 `vue-baidu-map` 插件,包括安装、全局注册及具体应用。首先通过 `yarn add vue-baidu-map` 安装插件,并在 `main.js` 中全局注册。然后展示了如何在地图上显示特定位置的标记,以及如何搜索地点并获取其经纬度和详细地址信息。代码示例提供了详细的实现方法和样式调整。如需使用,请确保已获取百度地图 API 的密钥。
699 1
|
4月前
|
Java Serverless Go
Golang 开发函数计算问题之在 Golang 中避免 "concurrent map writes" 异常如何解决
Golang 开发函数计算问题之在 Golang 中避免 "concurrent map writes" 异常如何解决
|
5月前
|
JavaScript 定位技术
vue-baidu-map 绘制行政区划的轮廓,添加行政区划名称(含给覆盖物添加点击事件)——vue 百度地图开发
vue-baidu-map 绘制行政区划的轮廓,添加行政区划名称(含给覆盖物添加点击事件)——vue 百度地图开发
268 1
|
5月前
|
JavaScript 定位技术
vue-baidu-map 百度地图检索、获取坐标
vue-baidu-map 百度地图检索、获取坐标
90 1
|
5月前
|
JavaScript 定位技术
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
429 0
|
7月前
|
JavaScript
webpack-devtool选项 --生成source-map便于开发调试(二)
webpack-devtool选项 --生成source-map便于开发调试(二)
223 0
|
7月前
|
存储 算法 Java
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
67 0
|
3月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
3月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用