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 访 ...
随机推荐
- javaweb基础备忘
Request对象的主要方法有哪些 setAttribute(String name,Object):设置名字为name的request 的参数值 getAttribute(String name): ...
- I+Me=完整的自我
这是这个系列的第二篇文章,如同第一篇一样,这篇文章会在24小时后删除. 之所以如此极端,因为我自认为这篇文章很有价值,不以这种方式,大家即使看了,也只会一带而过,不会真的汲取到营养. 这篇文章涉及的关 ...
- decimal与float和double的区别
一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 Name CTS Type De script ion Significan ...
- Java 散列集笔记
散列表 散列表(hash table)为每个对象计算一个整数,称为散列码(hash code). 若需要自定义类,就要负责实现这个类的hashCode方法.注意自己实现的hashCode方法应该与eq ...
- FPGA设计的注意事项
设计文档 一个完整的软件是由程序. 数据和文档三部分组成的. 在FPGA电路设计中, 撰写完善的设计文档是非常重要的. 对于一个比较复杂的设计来说, 各个子单元的功能各不相同, 实现的方法也不一样,各 ...
- 利用Cadence PCB SI分析特性阻抗变化因素
1.概要 在进行PCB SI的设计时,理解特性阻抗是非常重要的.这次,我们对特性阻抗进行基础说明之外,还说明Allegro的阻抗计算原理以及各参数和阻抗的关系. 2.什么是特性阻抗? 2.1 传送线路 ...
- linux 命令 mkdir
mkdir -p 如果要创建目录A并创建目录A的子目录B,没有用-p的情况下mkdir 逐个的创建目录(mkdir A,mkdir A/B); 如果用-p 可以直接创建2个目录 mkdir -p A/ ...
- django入门与实践(续)
完善博客 博客页面设计 页面概要 1.博客主页面 主页面内容 文章标题列表,超链接 发表博客按钮(超链接) 列表编写思路 取出数据库中所有文章对象 将文章对象们打包成列表,传递到前端 前端页面把文章以 ...
- Python_初识函数
为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你计算'hello world'的长度,你怎么计算? 这个需求对于现在的你其实不难,我们一起 ...
- Java上传图片到Ftp,包含上传后文件大小为0的问题和Properties配置文件的读取
准备工作:需要使用coomos-net jar包.下载地址 一. 上传图片到FTP,文件大小为0的问题,解决:将ftp模式修改为Passive模式就可以了. //将ftp模式修改为Passive模式 ...