layui引入百度地图

 

<script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=你的ak"></script>
<script src="https://code.bdstatic.com/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script src="layui/layui.js"></script>
<body>

<div class="layui-fluid">
    <!--地图显示位置-->
    <div class="layui-row">
        <div id="l-map" style="height: 810px;width: 1666px"></div>
    </div>
</div>
<script>
    // 百度地图API功能
    var map = new BMapGL.Map("l-map");
    map.centerAndZoom(new BMapGL.Point(119.506999,39.90779), 13);
    map.enableScrollWheelZoom(true);

    $.ajax({
        url: "/admin/ceshi/map_ceshi",
        type: 'get',
        dataType: 'json',
        success: function (adds) {
            for(var i = 0; i<adds.length; i++){
                var point = new BMapGL.Point(adds[i].lng, adds[i].lat);
                var marker = new BMapGL.Marker(point);
                map.addOverlay(marker);
                marker.setLabel(new BMapGL.Label(adds[i].name,{offset:new BMapGL.Size(10,-10)}));
            }
        },
    });
</script>
</body>
接口/admin/ceshi/map_ceshi
adds读出的数据格式为数组:
[
    {
        "id": 1,
        "name": "35624便利店",
        "lng": "119.63569",
        "lat": "39.945388"
    },
    {
        "id": 2,
        "name": "利群超市",
        "lng": "119.548496",
        "lat": "39.933055"
    }
]

获取AK是需要注册一个百度地图开放平台账号,链接地址:

百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com)

### 若依框架中引入和配置地图功能 #### 1. 地图API的选择 在若依框架中集成地图功能前,需先决定使用哪个地图服务提供商。常见的选择包括百度地图、高德地图等。每种地图都有其特点和服务质量差异。 对于百度地图,在layui环境中曾遇到`BMap is not defined`错误[^1];而对于高德地图,则可以通过官方提供的JavaScript API轻松接入并利用[@amap/amap-jsapi-loader]包简化加载过程[^3]。 #### 2. 获取API Key 无论选用哪家的地图服务商,都需要前往对应官网注册账号获取API key。这是为了确保能够合法访问地图数据以及享受相应级别的服务质量。 - **百度地图**: 注册开发者账户后可在管理后台找到AppKey。 - **高德地图**: 进入[高德开放平台](https://lbs.amap.com/)完成认证流程即可获得所需密钥。 #### 3. 安装依赖项 如果选择了高德地图作为解决方案之一,那么还需要通过NPM安装必要的库文件来支持地图渲染: ```bash npm install @amap/amap-jsapi-loader --save ``` 此命令会下载并保存高德地图JS API加载器到项目的node_modules目录下。 #### 4. 修改Webpack配置 为了让Web应用程序正确识别外部资源而不被打包进最终构建产物里,可以在`build/webpack.base.conf.js`中添加externals字段指定排除规则: ```javascript // build/webpack.base.conf.js module.exports = { // ... externals: { AMap: 'AMap' } }; ``` 这段代码告诉Webpack不要尝试打包AMap对象而是直接从全局作用域读取它[^4]。 #### 5. 创建地图容器与初始化 最后一步是在页面上定义好用于显示地图的DOM元素,并编写JavaScript逻辑对其进行初始化操作。这里给出一段基于Vue.js的例子(假设已经成功集成了高德地图): ```html <!-- template部分 --> <div id="container" style="width:80%; height:60vh;"></div> ``` ```javascript import loadScript from '@amap/amap-jsapi-loader'; export default { mounted() { this.initMap(); }, methods: { async initMap(){ const mapInstance = await loadScript({ v:'2.0',// 版本号可选,默认最新稳定版本 key:'', // 替换成自己的key plugins:[], // 插件列表,按需加载插件 }); new mapInstance.Map('container', { zoom: 10, center: [116.397428, 39.90923], }); } } } ``` 上述代码片段展示了如何在一个Vue组件内动态加载高德地图脚本并通过回调函数创建一个新的地图实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值