uniapp map 制作一个简单的地图导航
本篇文章用来为大家提供一个制作简单地图的思路
先来看一眼效果图
简易map
在图一的地图中可以看到 a点 连接 到 b点, 基本信息 以及 基本的控件(放大、缩小、回到某个指定的点),接下来我们分开逐步讲解。
所需配置
需要先在manifest.json
中的 app模块
中配置地图,并添加相关地图的key
,如果没有可在相关开发者平台进行申请
配置好这一部分就可以开始使用map组件了
地图标记点
在uniapp map中想创建标记点就需要使用到一个属性 markers
。
我们先来看一下markers
的常用属性
名称 | 说明 | 类型 | 必填 |
---|---|---|---|
id | 标记点id | number | true |
latitude | 纬度 | number | true |
longitude | 经度 | number | true |
iconPath | 显示的图标 | string | false |
callout | 自定义标记点上方的气泡框 | Object | false |
label | 为标记点傍边增加标签 | Object | false |
查看更多请点击这里
了解过这些我们就可以使用markers
属性创建标记点了, markers
属性是数组类型的,所以应该这样创建标记点
this.covers = [
{
id: 1,
latitude: 34.7486,
longitude: 113.6709,
iconPath: '../../static/shop.png',
title: "目的地"
}
];
如果想添加更多的标记点就可以继续在数组中添加object
,
每个object
都代表了一个标记点
挂载
<map :markers="covers"></map>
坐标连线
想让我们的坐标连线就需要使用到 polyline
属性。
我们先来看一下polyline
的常用属性
名称 | 说明 | 类型 | 必填 |
---|---|---|---|
points | 经纬度数组 | Array | true |
color | 线的颜色 | string | false |
width | 线宽 | Number | false |
iconPath | 显示的图标 | string | false |
arrowLine | 带箭头的线 | Boolean | false |
colorList | 彩虹显 | Array | false |
平台差异请点击查看
这里我们要注意 两个坑,作者亲踩
-
polyline
属性是一个数组polyline
之所以是一个数组是因为他可以同时创建多条线并且连线,每条线还可以有着不同的颜色、箭头、图标等。 -
points
也是一个数组points
之所以是一个数组是因为他要确定某一条线上的每一个点,且每个点都应该由经纬度构成
所以 polyline
的正确写法应该是这样的
// 连线
this.polyline =
include110: 大概不对吧,我这边的后缀是json,我都无语了
长冰: 我把大佬的例子试了一下,好像不行哦,只显示一个有阴影的书本模样,其他没有反应,手机版也不行,也不报错。请问怎么让它动起来?
qq_43567512: 请问临时路径后缀名是.html对吗
喵十一点半: 你可以通过gitee开放的api,然后获取文件的base64内容,将所有内容都储存起来放进数据库中,然后通过编写接口将数据库中内容传递就可以了
人间魔法酥: 下载的你的模板 那三个文件