高德地图如何自定义marker
时间: 2023-07-26 07:32:52 浏览: 476
要自定义高德地图的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信息窗口布局。
阅读全文