高德地图改变marker图标的大小

在高德地图中批量添加marker,并设置marker中图标的大小。

   var markers=new Array(); 
   //先批量的处理数据
   $.each(json, function(index,val) {
	if(this.LONGITUDE !="undefined"&& this.LONGITUDE >0){		  
	   var y = parseFloat(this.LONGITUDE);
	   var x = parseFloat(this.LATITUDE);
	   var icon_url= $('#context_global').val()+"/view/gis/images/action4.png";
	}
	 markers.push({icon:new AMap.Icon({image:icon_url,
                                       size:new AMap.Size(52, 52),//设置icon的大小
                                  imageSize: new AMap.Size(26,26)}),
			   position:[y,x],
			       info:val
	        	});
      }
	})
	//将marker放在地图上	                 
	$.each(markers, function(i,values) {
		var marker = new AMap.Marker({
		        	            position: markers[i].position,
		        	            icon: markers[i].icon,
		        	            map: map,
		        	            offset: new AMap.Pixel(-13, -30)
		        	        });

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要替换 Android 高德地图 SDK 中 Marker图标,可以先通过`remove`方法将原来的 Marker 从地上移除,然后再添加一个新的 Marker,例如: ```java Marker oldMarker = aMap.addMarker(new MarkerOptions() .position(new LatLng(39.90923, 116.397428)) .icon(BitmapDescriptorFactory.fromResource(R.drawable.old_marker))); // 先将旧的 Marker 从地上移除 oldMarker.remove(); // 添加一个新的 Marker,并设置新的图标 Marker newMarker = aMap.addMarker(new MarkerOptions() .position(oldMarker.getPosition()) .icon(BitmapDescriptorFactory.fromResource(R.drawable.new_marker))); // 将新的 Marker 设置为当前 Marker,以便后续操作 currentMarker = newMarker; ``` 其中`currentMarker`是一个成员变量,用于保存当前的 Marker 对象。 如果需要动态修改 Marker图标,可以通过上述方法不断替换 Marker图标,例如: ```java BitmapDescriptor icon1 = BitmapDescriptorFactory.fromResource(R.drawable.marker1); BitmapDescriptor icon2 = BitmapDescriptorFactory.fromResource(R.drawable.marker2); // 添加一个初始的 Marker,并设置初始图标 Marker currentMarker = aMap.addMarker(new MarkerOptions() .position(new LatLng(39.90923, 116.397428)) .icon(icon1)); // 切换图标 new Handler().postDelayed(new Runnable() { @Override public void run() { // 先将当前的 Marker 从地上移除 currentMarker.remove(); // 添加一个新的 Marker,并设置新的图标 Marker newMarker = aMap.addMarker(new MarkerOptions() .position(currentMarker.getPosition()) .icon(icon2)); // 将新的 Marker 设置为当前 Marker,以便后续操作 currentMarker = newMarker; } }, 2000); ``` 这样就可以在2秒钟后将 Marker图标切换为另外一个资源文件了,且不会重叠。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值