使用高德地图开发时,往往需要进行marker等覆盖物的添加,并自定义其一些属性
关于marker的自定义属性,官方的开发手册有如下的介绍
extData | Any | 用户自定义属性,支持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了
欢迎大家指教,希望大家喜欢
路漫漫其修远兮,同志仍须努力