uni-app中调用高德地图去设置点和轨迹
盒子部分
<view style="width: 100%; height: 100%" id="busContainer"> </view>
样式部分
.originImg {
width: 72rpx;
height: 100rpx;
img {
width: 100%;
height: 100%;
}
}
.origin-title {
font-size: 23rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #878a8c;
width: 100rpx;
position: absolute;
left: -8rpx;
}
script代码部分
1.初始化一个script标签,
init(id) {
this.$nextTick(() => {
var script = document.getElementById("mapTest");
let that = this;
script
? this.loop(id)
: (function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.setAttribute("id", "mapTest");
script.src =
"https://webapi.amap.com/maps?v=1.4.15&key=高德地图中申请的key值&plugin=AMap.PlaceSearch";
document.body.appendChild(script);
that.loop(id);
})();
});
},
2.调用初始化地图的方法
loop(id) {
try {
console.log("script1");
this.initMap(id);
} catch (e) {
console.log("script", e);
setTimeout(() => this.loop(id), 200);
}
},
3.初始化地图
initMap(id) {
this.map = new AMap.Map("busContainer", {
zoom: 15,
center: [121.557053, 29.807482],
});
if (this.map) {
// 调用获取公交轨迹数组方法
}
},
4.设置公交车点和轨迹图
setMarkerAndPolyline(station_list, attraction_list) {
let t = this;
// 绘制旅游站点标记
attraction_list.forEach((item) => {
let markers1 = new AMap.Marker({
// 图标尺寸
size: new AMap.Size(25, 34),
// 图标的取图地址
image:
"https://a.amap.com/jsapi_demos/static/demo-center/icons/dir-marker.png",
// 图标所用图片大小
imageSize: new AMap.Size(135, 40),
position: [item.longitude, item.latitude],
// 图标取图偏移量
imageOffset: new AMap.Pixel(-9, -3),
});
this.map.add(markers1);
});
// 绘制公交站点标记
station_list.forEach((item) => {
let originImg =
"https://a.amap.com/jsapi_demos/static/demo-center/icons/dir-via-marker.png";
let originContent = `<div class="flex-j-c"><div class="originImg"><img src="${originImg}"></div></div><div class="origin-title">${item.name}</div>`;
let markers1 = new AMap.Marker({
content: originContent,
position: [item.longitude, item.latitude],
offset: new AMap.Pixel(-20, -44),
});
this.map.add(markers1);
});
let polyline = null;
//处理轨迹数组
let polylineArr = station_list.map((item) => {
return [item.longitude, item.latitude];
});
// 绘制轨迹
if (polylineArr && polylineArr.length > 0) {
polyline = new AMap.Polyline({
map: t.map,
path: polylineArr,
showDir: true,
strokeColor: "#3e8af6", //线颜色
strokeWeight: 7, //线宽
lineJoin: "round", // 折线拐点连接处样式
});
t.lineArr = polylineArr;
t.map.setFitView();
}
},
uni-app中调用高德地图去设置点和轨迹的更多相关文章
- android: 在APP中显示高德地图SDK
一.搭建环境 参考资料:http://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project ...
- Ionic2系列——在Ionic2中使用高德地图
之前讲过了如何在Ionic2中使用第三方库,因为第三方库必须针对TypeScript提供相应的声明文件——即d.ts文件,才能被TypeScript正确识别并编译.好在大多数的第三方库已经有了定义文件 ...
- vue调用高德地图:vue-amap
前言:之前没有接触过页面调用地图的项目,某次面试,老板要求我用vue-amap调用高德地图,回家以后,我去网上查了一些案例和教程,看似很简单的引入调用,我却整整弄了一宿,还没弄出来!!!百般无奈之下, ...
- Vue-Cli 3.0 中配置高德地图
vue 中使用高德地图有两种方式 一.vue-amap 组件 官网: https://elemefe.github.io/vue-amap/#/ 开始的时候是打算用这个组件做地图功能的,但是尝试之后存 ...
- Vue组件篇——Vue3.0中使用高德地图
VUE-CLI 3.0 中配置高德地图 在项目开发中,地图组件 1.首先,需要注册高德开放平台的账号,并在[应用管理]页面[创建新应用],为应用添加Key值 高德开放平台:https://lbs.am ...
- uni app中使用自定义图标库
项目中难免会用到自定义图标,那在uni app中应该怎么使用呢? 首先, 将图标目录放在static资源目录下: 在main.js中引入就可以全局使用了 import '@/static/icon-o ...
- 关于Android studio调用高德地图的简单流程和要点
一,账号与Key的申请 注册成为高德开发者需要分三步: 第一步,注册高德开发者:第二步,去控制台创建应用:第三步,获取Key. 前2步都比较简单,这里说下第三步. 获取Key 1.进入控制台,创建一个 ...
- Android中调用百度地图
一.调用百度地图 --第一种方法 1.下载百度地图SDK SDK可以拆分下载,需要使用那一部分功能就下载相应包含的SDK,如下图 核心的的jar 和so包,放在工程中的libs目录下 2.申请key ...
- vue 调用高德地图
一. vue-amap,一个基于 Vue 2.x 和高德地图的地图组件 https://elemefe.github.io/vue-amap/#/ 这个就不细说了,按照其文档,就能够安装下来. 二. ...
- java调用高德地图api实现通过ip定位访问者的城市
所需东西:高德地图的key 注意:这个key是 web服务的key 和js的key不是一个key(若没有则自行创建,创建教程在文末) 高德地图的api文档:https://lbs.amap.com/ ...
随机推荐
- IDEA使用fastjson1时maven引入依赖没报错,但是用不了JSONObject工具类
删除项目下的.idea文件夹重新打开项目就行, 不知道为什么
- rxjs笔记(未完成)
首先是 Observable 和promise的区别, 1返回值个数,Observable 可以返回0到无数个值. 2.Promise主动推送,控制着"值"何时被 "推送 ...
- [CSP-S2019] Emiya 家今天的饭
洛咕 题意:原题面见链接,简单来说就是给出一个\(n*m\)的矩阵,每一行代表同一种烹饪方法,每一列代表同一种食材,\(a_{i,j}\)表示使用第i种烹饪方法第j种食材能做出多少种菜,要求至少做一道 ...
- Java流程控制之Scanner的进阶使用
Scanner的进阶使用 import java.util.Scanner; public class Demo04 { public static void main(String[] args) ...
- MySQL 常用命令(1)------连接、添加用户与授权
一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码 ...
- java生成uniappKey
1.首先检查下自己的电脑有无java环境,打开CMD 输入java -version,如果有安装会跟下图一样: 2.在cmd命令行中执行keytool -genkey -alias mhhk -key ...
- 微信字体大小调整导致的H5页面错乱问题处理
当用户调整微信字体大小时会导致H5页面错乱,解决方案如下: ios:在css中加入-webkit-text-size-adjust: 100% !important; body { -webk ...
- ES语法(简)
1.上编写到怎样安装部署elk,这篇记录怎样简单使用.以便于后期复习使用. 2.登录localhost:5601进入开发者模式. 3.初学担心没有数据可以自己PUT数据比较直观的学习语法.这里可以用网 ...
- 实时中文语音克隆——开源项目MockingBird体验
[引子] 在今年大型网络攻防演练前不久,笔者接到一个公司的座机号码来电,上来就问防守准备得怎么样了,哪里还有不足等.等等,这声音不认识,笔者第一反应就是蓝军(Red Team)来进行社会工程攻击,于是 ...
- HCIP-ICT实战进阶03-OSPF高级特性
HCIP-ICT实战进阶03-OSPF高级特性 1 ospf的快速收敛 ospf快速收敛是为了提高路由的手来你熟读而做的扩展特性, 包括PRC(Partial Route Calculation, 部 ...