Vue 高德地图 路径规划 画点
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) {
// 绘制路线
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 高德地图 路径规划 画点的更多相关文章
- iOS百度地图路径规划和POI检索详细总结-b
路径规划.png 百度地图的使用 百度地图API的导入网上说了许多坑,不过我遇到的比较少,这里就放两个比较常见的吧.坑一: 奥联WIFI_xcodeproj.png 如上图所示,在infoplist里 ...
- vue 高德地图之玩转周边
前言:在之前的博客中,有成功引入高德地图,这是以前的地址 vue 调用高德地图. 因为一些需求,需要使用到地图的周边功能. 完整的项目代码请查看 我的github 一 .先看要实现的结果,参考了链 ...
- VUE 高德地图选取地址组件开发
高德地图文档地址 http://lbs.amap.com/api/lightmap/guide/picker/ 结合步骤: 1.通过iframe内嵌引入高德地图组件 key就选你自己申请的key &l ...
- 第四届58topcoder编程大赛--地图路径规划
layout: post title: 第四届58topcoder编程大赛 subtitle: 58ACM catalog: true tags: - A* 算法 - C++ - 程序设计 问题及背景 ...
- js/vue 高德地图绘制驾车路线图
地图容器: // css要给此容器设置宽高 <div class="map_container"></div> 画图 data{ return { Clng ...
- vue 高德地图
index.html <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119. ...
- vue 高德地图使用 vue-amap
此插件文档及使用还不错 https://elemefe.github.io/vue-amap/ <template> <div class="amap-page-conta ...
- Google地图路线规划
Google地图路线规划: 需求:给定的两点之间Google地图路径规划和详情. 代码实现: //map定义省略 var directionsDisplay = new google.maps.Dir ...
- iOS高德地图使用-搜索,路径规划
项目中想加入地图功能,使用高德地图第三方,想要实现确定一个位置,搜索路线并且显示的方法.耗了一番功夫,总算实现了. 效果 WeChat_1462507820.jpeg 一.配置工作 1.申请key 访 ...
随机推荐
- 遇到的基础php函数、方法
0x01 PHP file() 函数 file() 函数把整个文件读入一个数组中. 数组中的每个元素都是文件中相应的一行,包括换行符在内. 实例: <?php print_r(file(&quo ...
- Git 版本回退的几种操作方法
1, 结合使用 git reset --hard <commit id> , git reset --hard HEAD^, git reflog , git log 1) 使用 git ...
- Redis 数据库使用和搭建
1.redis中文网 http://www.redis.cn/documentation.html 2.数据类型介绍 http://redis.cn/topics/data-types-intro.h ...
- 全栈高级web前端工程师的必经之路
这是最近整理的一个进阶高级web工程师的技术栈 同时也是激励自己每天来看一下离真正的王者还有多少距离! 过段时间再来反思一下自己进步了多少? ------------------------20190 ...
- new Vue发生了什么(五)
从入口代码开始分析,我们先来分析 new Vue 背后发生了哪些事情.我们都知道,new 关键字在 Javascript 语言中代表实例化是一个对象,而 Vue 实际上是一个类,类在 Javascri ...
- 认识Flow(一)
Flow 是 facebook 出品的 JavaScript 静态类型检查工具.Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码. 为什么用 Flow J ...
- C 库函数 - strcpy()
描述 C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest. 需要注意的是如果目标数组 dest 不够大,而源字符 ...
- 少年的u
发现了我提取DNa的过程存在问题,能够跑出action 但是不能克隆出基因.老师给我解释了为什么,说是我的DNA质量不是很高.但是在接下来的时间我会解决这个问题. 和师姐一起去上面的实验室,看了定量P ...
- 解决前端js、css缓存问题
去js标签库查询jquery.i18n.properties.js这个js引用到页面上: 新建一个配置文件:用上面的那个js方法调取配置文件里的版本号给其他的js加上: 示例: <script ...
- linux做免密登录,成功分发公钥后登录主机依旧需要输入密码的问题解决
问题描述 在主机A上用ssh-keygen生成密钥对后,用ssh-copy-id命令将公钥成功copy到主机B上后,测试从A免密登录B,但是依旧需要输入主机B的密码后才能登录. 出现此错误的原因 如果 ...