高德地图marker的自定义属性

使用高德地图开发时,往往需要进行marker等覆盖物的添加,并自定义其一些属性

关于marker的自定义属性,官方的开发手册有如下的介绍

extDataAny用户自定义属性,支持JavaScript API任意数据类型,如Marker的id等
getExtData( )Any获取用户自定义属性

由于介绍太过简单,而且没有demo,初学者往往会比较迷茫不知道怎么使用

下面就简单的介绍一下extData的使用

var marker = new AMap.Marker({
			position: [longitude, latitude],
			icon: markerIcon,
			extData : {"markerId":id,
				"markerLng":longitude,
				"markerLat":latitude,
				"markerFloor":floor,
				"markerName":name,
				"markerAddress":address
			},
		});

在上面的代码中,自定义了如"markerId"之类的属性,我们往往可以通过这些值去判断不同的marker

if(mymap.indoorMap.getSelectedBuilding().floor == markers[i].getExtData().markerFloor || zoom < 17)
				{
					markers[i].show();
				}
				else
				{
					markers[i].hide();
				}

在上面的代码中,我们可以通过从自定义属性的"markerFloor"属性中获取值,并与当前设定的值进行判断后在执行相关操作

OK,这样我们就能更加灵活丰富的使用marker了

欢迎大家指教,希望大家喜欢

路漫漫其修远兮,同志仍须努力


版权声明:本文为xumingyifrend原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。