android 高德地图自定义Marker样式并绘制多个
Marker指地图上的标记点,可以添加标题和内容。绘制多个Marker似乎较为困难,需要批量读入解析数据,这里用最最简单和静态的方法来显示多个标记点。并自定义Marker格式
·
Marker指地图上的标记点,可以添加标题和内容。绘制多个Marker似乎较为困难,需要批量读入解析数据,这里用最最简单和静态的方法来显示多个标记点:
首先,自定义Marker样式:
通过定义MarkerOption来实现Marker绘制和样式更改
把要更改的Icon图标(猫猫头)下载后放入mipmap-mdpi内,这里命名Icon1
LatLng latLng = new LatLng(31.311875, 121.507251);#设定经纬度
MarkerOptions markerOption = new MarkerOptions();
markerOption.position(latLng);
markerOption.title("标题").snippet("今天考完试了很开心");
markerOption.draggable(false);//设置Marker可拖动
markerOption.icon(BitmapDescriptorFactory.fromResource(R.mipmap.icon1));
aMap.addMarker(markerOption);#非常重要
绘制一个成功~!
绘制多个:这里用非常简单粗暴的随机生成表示。内容和标题分别放在数组里。
for (int i = 0; i < 9;i++){
Double lat = 31.30265-Math.random()/100;
Double lng = 121.49826-Math.random()/100; #随机生成经纬度
LatLng latLng3 = new LatLng(lat,lng);
#定义Marker样式
MarkerOptions options = new MarkerOptions();
options.icon(BitmapDescriptorFactory.fromResource(R.mipmap.icon2));#自定义样式
options.position(latLng3);#定位设置
options.title(lst[i]).snippet(lst2[i]);#标题内容设置
aMap.addMarker(options);
}
aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(boundsBuilder.build(),15)); #更新地图
这样就完成了!网上有其他方法,比如解析json格式的文件填充作为内容等等。我的方法比较简单,适合静态实现!
更多推荐
已为社区贡献3条内容
所有评论(0)