vue百度地图自定义标记图标

32 篇文章 6 订阅
19 篇文章 1 订阅

由于vue的路由机制,导致通过传参写的相对位置的图片资源时并不能被正常获取,需要通过import的方式导入资源

import iconCar from '../assets/images/deviceIcon/car.png'; //以import的方式导入图片文件


const map = new BMap.Map("Map");
const point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 11);
map.setCurrentCity("北京");

const deviceSize = new BMap.Size(48,48);
const deviceIcon = new BMap.Icon(iconCar, deviceSize, { //会以base64的方式传参iconCar
    imageSize: deviceSize
});

const marker = new BMap.Marker(point, {
    icon: deviceIcon
});
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue高德地图定义标记可以通过以下步骤进行: 1. 引入高德地图JavaScript API 在Vue组件的script标签中引入高德地图JavaScript API,例如: ``` <script src="https://webapi.amap.com/maps?v=1.4.15&key=你的key"></script> ``` 其中key为你的高德地图开发者账号的应用key。 2. 定义地图容器 在Vue组件的template标签中定义地图容器,例如: ``` <template> <div id="map-container"></div> </template> ``` 其中id为map-container的div元素用于承载地图。 3. 初始化地图对象 在Vue组件的script标签中,通过AMap.Map类初始化地图对象,例如: ``` <script> export default { mounted() { const map = new AMap.Map('map-container', { zoom: 13, center: [116.397428, 39.90923] }); } } </script> ``` 其中zoom表示地图缩放级别,center表示地图中心点坐标。 4. 自定义标记图标Vue组件的script标签中,通过AMap.Icon类定义定义标记图标,例如: ``` <script> export default { mounted() { const icon = new AMap.Icon({ size: new AMap.Size(50, 50), image: 'https://webapi.amap.com/theme/v1.3/images/newpc/way_btn2.png', imageSize: new AMap.Size(50, 50) }); } } </script> ``` 其中size表示标记图标尺寸,image表示标记图标图片地址,imageSize表示标记图标显示尺寸。 5. 添加自定义标记Vue组件的script标签中,通过AMap.Marker类添加自定义标记,例如: ``` <script> export default { mounted() { const map = new AMap.Map('map-container', { zoom: 13, center: [116.397428, 39.90923] }); const icon = new AMap.Icon({ size: new AMap.Size(50, 50), image: 'https://webapi.amap.com/theme/v1.3/images/newpc/way_btn2.png', imageSize: new AMap.Size(50, 50) }); const marker = new AMap.Marker({ position: [116.397428, 39.90923], icon: icon, offset: new AMap.Pixel(-25, -25) }); marker.setMap(map); } } </script> ``` 其中position表示标记位置坐标,icon表示标记图标,offset表示标记图标偏移量。 6. 完整代码 ``` <template> <div id="map-container"></div> </template> <script> export default { mounted() { const map = new AMap.Map('map-container', { zoom: 13, center: [116.397428, 39.90923] }); const icon = new AMap.Icon({ size: new AMap.Size(50, 50), image: 'https://webapi.amap.com/theme/v1.3/images/newpc/way_btn2.png', imageSize: new AMap.Size(50, 50) }); const marker = new AMap.Marker({ position: [116.397428, 39.90923], icon: icon, offset: new AMap.Pixel(-25, -25) }); marker.setMap(map); } } </script> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值