Vue框架实现百度地图热力图(简单易懂,学了就会)

实现百度地图热力图(Vue框架)

最近比赛项目有一个需求是实现前端的展示,展示热力图,费了一些功夫才弄好,记录一下实现的过程。如果想调用百度地图API,首先你需要得在官网注册一个帐号然后申请一个密钥,注册网:http://lbsyun.baidu.com/index.php?title=lbscloud
直接上代码,需要在项目中的index.html中添加如下代码

<script src="http://api.map.baidu.com/api?v=2.0&ak=密匙"></script>

然后再构建热力图

<template lang="html">
    <div id="load">
        <!--存放百度地图容器-->
        <div id="container"></div>
    </div>
</template>

<script>
    export default {
    
        data() {
    
            return {
    
                // 热力图的点数据,lng:点的经度 点的lat纬度 count:点的热力程度
                points: [
                    {
    "lng":123.418261,"lat":41.921984,"count":50},
                    {
    "lng":123.423332,"lat":41.916532,"count":51},
                    {
    "lng":123.419787,"lat":41.930658,"count":15},
                    {
    "lng":123.418455,"lat":41.920921,"count":40},
                    {
    "lng":123.418843,"lat":41.915516,"count":100},
                    {
    "lng":123.42546,"lat":41.918503,"count":6},
                    {
    "lng":123.423289,"lat":41.919989,"count":18},
                    {
    "lng":123.418162,"lat":41.915051,"count":80},
                    {
    "lng":123.422039,"lat":41.91782,"count":11},
                    {
    "lng":123.41387,"lat":41.917253,"count":7},
                    {
    "lng":123.41773,"lat":41.919426,"count":42},
                    {
    "lng":123.421107,"lat":41.916445,"count":4},
                    {
    "lng":123.417521,"lat":41.917943,"count":27},
                    {
    "lng":123.419812,"lat":41.920836,"count":23},
                    {
    "lng":123.420682,"lat":41.91463,"count":60},
                    {
    "lng":123.415424,"lat":41.924675,"count":8},
                    {
    "lng":123.419242,"lat":41.914509,"count":15},
                    {
    "lng":123.422766,"lat":41.921408,"count":25
  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
要在Vue框架实现地图热力,可以使用天地图的API和第三方的热力插件。 首先,需要在Vue项目中引入天地图的API,可以通过在index.html中添加以下代码来引入: ```html <script src="http://api.tianditu.gov.cn/api?v=4.0&tk=yourkey"></script> ``` 其中,yourkey需要替换为你在天地图申请的API key。 接下来,可以使用第三方的热力插件来实现热力的功能,比如heatmap.js。可以通过npm安装heatmap.js: ```bash npm install heatmap.js ``` 然后,在Vue组件中引入heatmap.js并使用它来生成热力。以下是一个简单的示例: ```html <template> <div id="map"></div> </template> <script> import heatmap from 'heatmap.js' export default { mounted() { // 创建地图 const map = new T.Map('map') map.centerAndZoom(new T.LngLat(116.4074, 39.9042), 10) // 加载热力数据 const data = [ { lng: 116.4074, lat: 39.9042, count: 10 }, { lng: 116.3739, lat: 39.9236, count: 20 }, { lng: 116.3575, lat: 39.9119, count: 30 }, // ... ] // 将数据转换为热力需要的格式 const points = data.map(item => ({ lnglat: new T.LngLat(item.lng, item.lat), count: item.count })) // 创建热力 const heatmapInstance = heatmap.create({ container: document.getElementById('map'), radius: 20, maxOpacity: .5, data: points }) } } </script> ``` 在这个示例中,我们首先创建了一个地图实例,然后加载了热力的数据。将数据转换为heatmap.js需要的格式后,我们创建了一个热力实例,并将它渲染在地图上。 当然,这只是一个简单的示例,你可以根据实际需求来配置热力的参数,比如半径、透明度等。同时,也可以根据天地图提供的API来添加其他的地图功能,比如地图控件、标注等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值