CDN 方式

<!--引入高德地图JSAPI -->
<script src="//webapi.amap.com/maps?v=1.4.13&key=您申请的key值"></script> <!--引入UI组件库(1.0版本) -->
<script src="//webapi.amap.com/ui/1.0/main.js"></script>

配置externals 文件路径 build>webpack.base.conf.js > module.exports = {}

  externals: {
'AMap': 'AMap',
'AMapUI': 'AMapUI'
},

页面实现

<template>
<div class="amap-page-container">
<div id="container" style="width:100vw;height:70vh"></div>
</div>
</template> <script>
export default {
data() {
return {};
},
created() {
// 配置
},
mounted() {
this.$nextTick(() => {
var map = new AMap.Map("container", {
center: [116.397559, 39.89621],
zoom: 14
});
// 定义图标信息
var icon = new AMap.Icon({
// 图标尺寸
size: new AMap.Size(32, 46),
// 图标的取图地址
image:
"http://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-red.png",
// 图标所用图片大小
imageSize: new AMap.Size(32, 46)
});
// 文字描述内容
var labelContent = "<span>1</span>";
// 文字描述显示位置
var labelOffset = new AMap.Pixel(8, 7);
// 绘制坐标点
var marker = new AMap.Marker({
icon: icon,
position: [116.303843, 39.983412],
offset: new AMap.Pixel(-10, -46),
title: 1,
text: 1,
label: {
content: labelContent,
offset: labelOffset
}
});
marker.setMap(map);
var labelContent = "<span>2</span>";
var labelOffset = new AMap.Pixel(8, 7);
var marker2 = new AMap.Marker({
icon: icon,
anchor: "center", //设置锚点
position: [116.321354, 39.896436],
offset: new AMap.Pixel(-10, -28),
title: 2,
clickable: true,
bubble: true,
label: {
content: labelContent,
offset: labelOffset
}
});
marker2.setMap(map);
    // 事件
      AMap.event.addListener(marker, "click", function(e) {
        debugger;
        //得到的数据
      });
      AMap.event.addListener(marker2, "click", function(e) {
        debugger;
        //得到的数据
      });
// 绘制路线
map.plugin("AMap.TruckDriving", function() {
var truckDriving = new AMap.TruckDriving({
map: map,
policy: 0, // 规划策略
size: 1, // 车型大小
width: 2.5, // 宽度
height: 2, // 高度
load: 1, // 载重
weight: 12, // 自重
axlesNum: 2, // 轴数
province: "京", // 车辆牌照省份
isOutline: true,
outlineColor: "#ffeeee",
hideMarkers: true
});
var path = [];
path.push({ lnglat: [116.303843, 39.983412] }); //起点
path.push({ lnglat: [116.321354, 39.896436] }); //途径
path.push({ lnglat: [116.407012, 39.992093] }); //终点 truckDriving.search(path, function(status, result) {
// searchResult即是对应的驾车导航信息,相关数据结构文档请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
if (status === "complete") {
log.success("获取货车规划数据成功");
} else {
log.error("获取货车规划数据失败:" + result);
}
});
});
});
},
methods: {}
};
</script>
<style>
.amap-marker-label {
border: 0px;
background: rgba(255, 255, 255, 0);
color: #fff;
font-size: 17px;
font-weight: 550;
text-align: center;
}
</style>

NPM 方式

npm install vue-amap --save

配置main.js

import VueAMap from 'vue-amap'
// 初始化vue-amap
VueAMap.initAMapApiLoader({
key: '您申请的key值',
plugin: [
'AMap.Autocomplete', // 输入提示插件
'AMap.PlaceSearch', // POI搜索插件
'AMap.Scale', // 右下角缩略图插件 比例尺
'AMap.OverView', // 地图鹰眼插件
'AMap.ToolBar', // 地图工具条
'AMap.MapType', // 类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
'AMap.PolyEditor', // 编辑 折线多,边形
'AMap.CircleEditor', // 圆形编辑器插件
'AMap.Geolocation', // 定位控件,用来获取和展示用户主机所在的经纬度位置
'AMap.TruckDriving' // 路径规划
],
v: '1.4.13'
})
Vue.use(VueAMap)

页面实现

<template>
<div class="amap-page-container">
<el-amap
:plugin="plugin"
:amap-manager="amapManager"
:zoom="zoom"
:center="center"
vid="amapDemo"
ref="reds"
style="width:100vw;height:80vh"
:events="events"
></el-amap>
</div>
</template> <script>
import { AMapManager } from "vue-amap";
let amapManager = new AMapManager();
var map = amapManager.getMap();
export default {
data() {
let _obj = this;
return {
amapManager,
center: [116.303843, 39.983412],
plugin: [
{
pName: "Scale",
events: {
init(instance) {
console.log(instance);
}
}
}
],
zoom: 12,
events: {
init(o) {
_obj.createMap();
}
}
};
},
created() {
// 配置
},
mounted() {},
methods: {
createMap() {
    
let o = amapManager.getMap(); var icon = new AMap.Icon({
// 图标尺寸
size: new AMap.Size(32, 46),
// 图标的取图地址
image:
"http://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-red.png",
// 图标所用图片大小
imageSize: new AMap.Size(32, 46)
});
var labelContent = "<span>1</span>";
var labelOffset = new AMap.Pixel(8, 7);
var marker = new AMap.Marker({
icon: icon,
position: [116.303843, 39.983412],
offset: new AMap.Pixel(-10, -46),
title: 1,
text: 1,
label: {
content: labelContent,
offset: labelOffset
}
});
marker.setMap(o);
var labelContent = "<span>2</span>";
var labelOffset = new AMap.Pixel(8, 7);
var marker2 = new AMap.Marker({
icon: icon,
anchor: "center", //设置锚点
position: [116.321354, 39.896436],
offset: new AMap.Pixel(-10, -28),
title: 2,
clickable: true,
bubble: true,
label: {
content: labelContent,
offset: labelOffset
}
});
marker2.setMap(o); var truckDriving = new AMap.TruckDriving({
map: o,
policy: 0, // 规划策略
size: 1, // 车型大小
width: 2.5, // 宽度
height: 2, // 高度
load: 1, // 载重
weight: 12, // 自重
axlesNum: 2, // 轴数
province: "京", // 车辆牌照省份
isOutline: true,
outlineColor: "#ffeeee",
hideMarkers: true
}); var path = [];
path.push({ lnglat: [116.303843, 39.983412] }); //起点
path.push({ lnglat: [116.321354, 39.896436] }); //途径
path.push({ lnglat: [116.407012, 39.992093] }); //终点 truckDriving.search(path, function(status, result) {
if (status === "complete") {
console.log("获取货车规划数据成功");
} else {
console.log("获取货车规划数据失败:" + result);
}
// searchResult即是对应的驾车导航信息,相关数据结构文档请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
});
AMap.event.addListener(marker, "click", function(e) {
debugger;
//得到的数据
});
AMap.event.addListener(marker2, "click", function(e) {
debugger;
//得到的数据
});
}
}
};
</script>
<style>
.amap-marker-label {
border: 0px;
background: rgba(255, 255, 255, 0);
color: #fff;
font-size: 17px;
font-weight: 550;
text-align: center;
}
</style>

Vue 高德地图 路径规划 画点的更多相关文章

  1. iOS百度地图路径规划和POI检索详细总结-b

    路径规划.png 百度地图的使用 百度地图API的导入网上说了许多坑,不过我遇到的比较少,这里就放两个比较常见的吧.坑一: 奥联WIFI_xcodeproj.png 如上图所示,在infoplist里 ...

  2. vue 高德地图之玩转周边

    前言:在之前的博客中,有成功引入高德地图,这是以前的地址  vue 调用高德地图. 因为一些需求,需要使用到地图的周边功能. 完整的项目代码请查看  我的github 一 .先看要实现的结果,参考了链 ...

  3. VUE 高德地图选取地址组件开发

    高德地图文档地址 http://lbs.amap.com/api/lightmap/guide/picker/ 结合步骤: 1.通过iframe内嵌引入高德地图组件 key就选你自己申请的key &l ...

  4. 第四届58topcoder编程大赛--地图路径规划

    layout: post title: 第四届58topcoder编程大赛 subtitle: 58ACM catalog: true tags: - A* 算法 - C++ - 程序设计 问题及背景 ...

  5. js/vue 高德地图绘制驾车路线图

    地图容器: // css要给此容器设置宽高 <div class="map_container"></div> 画图 data{ return { Clng ...

  6. vue 高德地图

    index.html <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119. ...

  7. vue 高德地图使用 vue-amap

    此插件文档及使用还不错 https://elemefe.github.io/vue-amap/ <template> <div class="amap-page-conta ...

  8. Google地图路线规划

    Google地图路线规划: 需求:给定的两点之间Google地图路径规划和详情. 代码实现: //map定义省略 var directionsDisplay = new google.maps.Dir ...

  9. iOS高德地图使用-搜索,路径规划

    项目中想加入地图功能,使用高德地图第三方,想要实现确定一个位置,搜索路线并且显示的方法.耗了一番功夫,总算实现了. 效果 WeChat_1462507820.jpeg 一.配置工作 1.申请key 访 ...

随机推荐

  1. easyui-numberbox后台获取数据后,鼠标一点击就自动清空了

    <input type="text" name="txtMeterInitData" id="txtMeterInitData" cl ...

  2. VScode usage

    Common settings editor.minimap.enabled     //close the preview workbench.editor.show tabs  // show f ...

  3. AcWing 1022. 宠物小精灵之收服 二维费用背包

    #include<iostream> using namespace std ; ; int f[N][N]; int V1,V2,n; int main() { cin>>V ...

  4. Python 排序---sort与sorted学习(这是摘录别人的资源总结,自己可临摹学习)

    第一种:内建方法sort() 可以直接对列表进行排序 用法: list.sort(func=None, key=None, reverse=False(or True)) 对于reverse这个boo ...

  5. Suggestions On Setting LED Holiday Light

    We all like the cheerful glow of holiday lights, so the process goes seamless from start to finish. ...

  6. Allegro 串扰仿真

    利用于博士的那个电路板,看一下cadence软件的串扰仿真,我们选取3跟信号线,见下图. U6.N3-R36-U7.56 U6.P3-R36-U7.54 U6.P2-R36-U7.53 下面启动sig ...

  7. C++——绪论

    计算机语言的发展 1.机器语言(二进制).汇编语言.比较难以理解和识记,与人类语言之间的差距太大: 2.高级语言,可以写出类似于人类思维的语句,可以有人们习惯的表达方式: 3.面向对象的语言,描述客观 ...

  8. Carmichael Numbers (快速幂)

       当今计算机科学的一个重要的领域就是密码学.有些人甚至认为密码学是计算机科学中唯一重要的领域,没有密码学生命都没有意义. 阿尔瓦罗就是这样的一个人,它正在设计一个为西班牙杂烩菜饭加密的步骤.他在加 ...

  9. JS高级---总结apply和call方法的使用

    apply和call的使用方法 apply的使用语法   函数名字.apply(对象,[参数1,参数2,...]); 方法名字.apply(对象,[参数1,参数2,...]);   call的使用语法 ...

  10. javascript fp demo

    function eq (y) { return function forX(x) { return x === y } } function mod (y) { return function fo ...