自学uni-app (8)uni-app 上传图片、预览图片、地图组件

本文介绍了uni-app中如何实现图片的上传与预览功能,详细讲解了uni.chooseImage API的用法以及利用v-for渲染预览图片。此外,还探讨了地图组件的应用,包括h5中的Maps模块和uni-app内置的map组件,讨论了相关的方法、对象和回调,并提醒读者注意区分数组的map映射函数。

上传图片、预览图片

上传图片(uni.chooseImage)

从本地相册选择图片或使用相机拍照。

案例代码

<template>
	<view>
		<button @click="chooseImg" type="primary">上传图片</button>
		<view>
			<image v-for="item in imgList" :src="item" :key="index"></image>
		</view>
	</view>
</template>

<script>
	export default {
		data () {
			return {
				imgList: []
			}
		},
		methods: {
			chooseImg () {
				uni.chooseImage({
					count: 2,
					success: res=>{
						this.imgList = res.tempFilePaths
					}
				})
			}
		}
	}
</script>

预览图片

通过列表渲染(v-for)来展示图片


<view>
	<image v-for="item in imgList" :src="item" @click="previewImg(item)" :key="item"></image>
</view>

预览图片的方法


previewImg (current) {
  uni.previewImage({
    urls: this.imgList,
    current
    // 等同于    current:current
  })
}

map(地图)

添加地图组件,或者将传递数据给指定的地图的小程序中,如高德DT

h5中的maps

Maps模块是管理地图的控件,用于在web页面中显示地图控件,提供各种接口操作地图控件,如添加标点、路线等。通过plus.maps可获取地图管理对象。

方法

方法名说明
openSysMap调用系统第三方程序进行导航
create创建Map对象
getMapById查找已经创建的Map对象

对象

对象名说明
Map地图控件对象
MapStyles地图控件对象的参数
GeocodeOptions地理编码转换的参数
CoordinateConvertOptions地图坐标转换的参数
PointPoint对象用于表示地图元素的坐标
Bounds地理区域
MapType地图视图类型
Overlay地图覆盖物基类对象
Marker地图上显示的标点对象
Bubble地图上显示的气泡对象
Circle地图上显示的圆圈对象
Polyline地图上显示的折线对象
Polygon地图上显示的多边形对象
Search地图检索对象
SearchPolicy检索策略类型
SearchPoiResult保存位置检索、周边检索和范围检索返回的结果
SearchRouteResult保存位置检索、周边检索和范围检索返回的结
Position检索结果的位置点
Route地图中的路线对象

回调方法

回调方法名说明
GeocodeCallback地理编码转换成功的回调函数
CoordinateConvertCallback坐标转换成功的回调函数
DistanceCalculateCallback距离计算成功的回调函数
AreaCalculateCallback地理区域面积计算成功的回调函数
UserLocationCallback获取用户当前位置信息成功回调
ClickEventHandler用户点击地图回调事件
StatusChangedEventHandler地图状态变化回调事件
OverlayClickEventHandler用户点击地图覆盖物回调事件
OverlayDragEventHandler用户拖拽覆盖物回调事件
PoiSearchCallback兴趣点检索完成事件
RouteSearchCallback线路检索完成事件
SuccessCallback地图操作成功回调函数
ErrorCallback地图操作失败的回调函数

uni-app中的map

地图组件用于展示地图,而定位API只是获取坐标(各个属性的详细介绍点击标题进入官网查看)

属性

属性名类型默认值说明
longitudeNumber中心经度
latitudeNumber中心纬度
scaleNumber16缩放级别,取值范围为5-18
markersArray标记点
polylineArray路线
circlesArray
controlsArray控件
include-pointsArray缩放视野以包含所有给定的坐标点
show-compassBooleanfalse是否显示指南针
enable-satelliteBooleanfalse是否开启卫星图
enable-trafficBooleanfalse是否开启实时路况
show-locationBoolean显示带有方向的当前定位点
@markertapEventHandle点击标记点时触发,e.detail = {markerId}
@labeltapEventHandle点击label时触发,e.detail = {markerId}
@callouttapEventHandle点击标记点对应的气泡时触发,e.detail = {markerId}
@controltapEventHandle点击控件时触发,e.detail = {controlId}
@regionchangeEventHandle视野发生变化时触发
@tapEventHandle点击地图时触发; App-nuve、微信小程序2.9支持返回经纬度
@updatedEventHandle在地图渲染更新完成时触发

注意

在数组中也有一个map,但是数组的map是映射函数,我在之前的文章中讲到过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值