高德地图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了

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

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

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
自定义高德地图Marker,可以按照以下步骤操作: 1. 创建MarkerOptions对象,设置Marker的经纬度、图标等属性。 2. 通过AMap类的addMarker方法将Marker添加到地图上。 3. 通过AMap类的setInfoWindowAdapter方法设置Marker的信息窗口。 4. 通过AMap类的setOnMarkerClickListener方法设置Marker的点击事件。 具体实现代码如下: ``` // 创建MarkerOptions对象 MarkerOptions markerOptions = new MarkerOptions(); LatLng latLng = new LatLng(39.906901, 116.397972); markerOptions.position(latLng); markerOptions.title("Marker标题"); markerOptions.snippet("Marker描述"); markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_icon)); // 添加Marker到地图上 Marker marker = aMap.addMarker(markerOptions); // 设置Marker的信息窗口 aMap.setInfoWindowAdapter(new AMap.InfoWindowAdapter() { @Override public View getInfoWindow(Marker marker) { View view = getLayoutInflater().inflate(R.layout.marker_info_window, null); TextView titleTextView = view.findViewById(R.id.title); TextView snippetTextView = view.findViewById(R.id.snippet); titleTextView.setText(marker.getTitle()); snippetTextView.setText(marker.getSnippet()); return view; } @Override public View getInfoContents(Marker marker) { return null; } }); // 设置Marker的点击事件 aMap.setOnMarkerClickListener(new AMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { marker.showInfoWindow(); return true; } }); ``` 其中,R.drawable.marker_icon是你自定义Marker图标。marker_info_window是你自定义Marker信息窗口布局。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xumingyifrend

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值