开源字节的租房小程序一个关于房屋租赁类的APP,用的uni-app实现 ,这种app少不了的就是经纪人,位置信息。我们的代码开源免费,欢迎交流使用。

map地图组件使用时直接在template中使用<map></map>标签,标签中可嵌套map属性

map最常用到的属性:

    longitude  中心经度

    latitude 中心纬度

    scale 缩放级别(取值范围为5-18,默认的是16 ,值数越大,放大程度越大,看的越细)

    markers  标记点  (类型为Array数组,在地图上标记出来的点)

    polyline(类型为Array数组,没有默认值,表示路线,数组上的所有点连成线)

    circles(类型Array数组,表示圆)

    controls(类型Array数组,表示控件)

    include-points(类型Array数组,表示缩放视野已包含所有给定的坐标点)

    show-compass(类型为Boolean,默认值为false,表示为是否显示指南针)

    enable-overlooking(类型为Boolean,默认值为false,表示为是否开启俯视)

    enable-satellite(类型为Boolean,默认值为false,表示为是否开启卫星图)

    enable-traffic(类型为Boolean,默认值为false,表示为是否开启实时路况)

    show-location(类型为Boolean,表示显示带有方向的当前定位点)

    polygons(类型Array,表示为多边形)

markers的属性有(表示标记点用于在地图上显示标记的位置)

    id:标记点id(marker点击事件回调会返回此id)

    latitude:纬度(范围 -90 ~ 90 )

    longitude:经度(范围 -180 ~ 180 )

    title:标注点名

    iconPath:显示的图标

    rotate:旋转角度(顺时针旋转的角度,范围 0 ~ 360,默认为 0 )

    alpha:标注的透明度( 默认1,无透明,范围 0 ~ 1)

    width:标注图标宽度(默认为图片实际宽度 )

    height:标注图标高度(默认为图片实际高度 )

    callout:自定义标记点上方的气泡窗口

    label:为标记点旁边增加标签

    anchor:经纬度在标注图标的锚点

     callout的属性有

            content:文本

            color:文本颜色

            fontSize:文字大小

            borderRadius:callout边框圆角

            bgColor:背景色

            padding:文本边缘留白

            display:BYCLICK':点击显示;'ALWAYS':常显

            textAlign:文本对齐方式

    label的属性有

            content:文本  

            color:文本颜色

            fontSize:文字大小

            x:label的坐标,原点是 marker 对应的经纬度

            y:label的坐标,原点是 marker 对应的经纬度

            borderWidth:边框宽度

            borderColor:边框颜色

            borderRadius:callout边框圆角

            bgColor:背景色

            padding:文本边缘留白

            textAlign:文本对齐方式

polyline的属性有(表示指定一系列坐标点,从数组第一项连线至最后一项)

    points,经纬度数组,类型为Array,必填,如:[{latitude: 0, longitude: 0}]

    color,线的颜色,类型为String,不必填,如:#0000AA

    width,线的宽度,类型为Number,不必填

    dottedLine,是否虚线,类型为Boolean,不必填,默认值false

    arrowLine,带箭头的线,类型为Boolean,不必填,默认值为false

    arrowIconPath,更换箭头图标,类型为String,不必填,在arrowLine为true时,默认带箭头的线时生效

    borderColor,线的边框颜色,类型为String,不必填

    borderWidth,线的厚度,类型为Number,不必填

circles 的属性有(在地图上显示圆)

    latitude,纬度,Number,必填,浮点数,范围 -90 ~ 90

    longitude,经度,Number,必填,浮点数,范围-180 ~ 180

    color,描边的颜色,String,不必填,如:#0000AA

    fillColor,填充颜色,String,不必填,如:#0000AA

    radius,半径,Number,必填

    strokeWidth,描边的宽度,Number,不必填

controls 控件 (在地图上显示一个控件,但是这个控件并不随着地图移动)

    id:控件id(在控件点击事件回调会返回此id)

    position:控件在地图的位置(控件相对地图位置)

    iconPath:显示的图标(项目目录下的图片路径)

    clickable:是否可点击(默认不可点击)

附上代码

<template>
	<view>
		<view>
			<map :latitude="latitude" :longitude="longitude"
			 :markers="covers"
			@click="clickMap">
			</map>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				title: 'map',
				name: '杭州市',
				address: '杭州市拱墅区万达广场',
				latitude: 30.31968,
				longitude: 120.14209,
				covers: [{
					latitude: 30.31968,
					longitude: 120.14209,
					iconPath: '../../../static/location.png',
				}]
			}
		},
		methods:{
			clickMap(e){
				console.log(e);
				uni.openLocation({
					longitude: Number(this.longitude),
					latitude: Number(this.latitude),
					name: this.name,
					address: this.address
				})
			},
		}
	}
</script>
<style>
	map {
		width: 100%;
		height: 450rpx;
	}
</style>

如若转载,请注明出处:开源字节   https://sourcebyte.cn/article/247.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐