aMap.setOnMarkerClickListener(new AMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { Toast.makeText(MainActivity2.this, "点击了途经点", Toast.LENGTH_SHORT).show(); return false; } }); 点击Marker后,marker显示在了途经点的下方,怎么样让它点击的时候一直在途经点的上方?
时间: 2024-02-14 22:12:08 浏览: 181
在高德地图SDK中,可以通过设置Marker的 `setInfoWindowOffset(x, y)` 方法来控制Marker的信息窗口相对于Marker的偏移量,从而达到控制Marker位置的效果。其中,x和y分别是水平和垂直方向上的偏移量,单位是像素。设置 x 和 y 都为 0,则信息窗口显示在 Marker 的正上方。
您可以在 `onMarkerClick` 方法中设置Marker的信息窗口偏移量,使其一直在途经点的上方。例如:
```java
aMap.setOnMarkerClickListener(new AMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
// 设置信息窗口偏移量,使其一直在途经点的上方
marker.setInfoWindowOffset(0, -50);
Toast.makeText(MainActivity2.this, "点击了途经点", Toast.LENGTH_SHORT).show();
return false;
}
});
```
在上述代码中,将信息窗口的垂直方向偏移量设置为 -50 像素,即向上偏移 50 像素。您可以根据实际情况调整偏移量的大小。
相关问题
如何点击MARKER后marker生成MARKER属性里面自带的图片
要实现点击Marker后,在Marker属性中显示自带图片,可以按照以下步骤操作:
1.在创建Marker时,为Marker设置自带图片,可以使用MarkerOptions中的icon方法,如下所示:
```
MarkerOptions markerOptions = new MarkerOptions()
.position(new LatLng(40.7128, -74.0060))
.title("New York City")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_icon));
```
其中,R.drawable.marker_icon是自带图片的资源ID。
2.为GoogleMap对象设置OnMarkerClickListener,当用户点击Marker时,会触发OnMarkerClickListener中的onMarkerClick方法。
```
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
// 在Marker属性中显示自带图片
marker.showInfoWindow();
return true;
}
});
```
在onMarkerClick方法中,调用Marker的showInfoWindow方法,即可在Marker属性中显示自带图片。
3.如果需要在Marker属性中显示自定义的内容,可以使用Marker的setInfoWindowAdapter方法。在实现InfoWindowAdapter接口的类中,重写getInfoWindow和getInfoContents方法,分别返回自定义的InfoWindow视图和内容视图。
```
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
// 返回自定义的InfoWindow视图
return null;
}
@Override
public View getInfoContents(Marker marker) {
// 返回自定义的内容视图
return null;
}
});
```
以上就是实现点击Marker后,在Marker属性中显示自带图片的方法。
阅读全文