google 地图标记拖动事件在 android 中不起作用
google map marker drag event no working in android
我正在做一个包含多个标记的 android 应用程序。我想制作标记长按事件,我知道 MarkerDragListener
可以帮助我做到这一点。这是我用于 MarkerDragListener
:
的代码
@Override
public void onMapReady(final GoogleMap googleMap) {
Log.d(TAG, "onMapReady()");
mGoogleMap = googleMap;
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mGoogleMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
@Override
public void onMarkerDragStart(Marker arg0) {
// TODO Auto-generated method stub
Log.d("System out", "onMarkerDragStart..."+arg0.getPosition().latitude+"..."+arg0.getPosition().longitude);
}
@SuppressWarnings("unchecked")
@Override
public void onMarkerDragEnd(Marker arg0) {
// TODO Auto-generated method stub
Log.d("System out", "onMarkerDragEnd..."+arg0.getPosition().latitude+"..."+arg0.getPosition().longitude);
}
@Override
public void onMarkerDrag(Marker arg0) {
// TODO Auto-generated method stub
Log.i("System out", "onMarkerDrag...");
}
});
mGoogleMap.setOnMarkerClickListener(this);
}
但是拖动事件对我不起作用,请有人帮我解决。
Markers are not draggable by default. You must explicitly set the marker to be draggable either with MarkerOptions.draggable(boolean)
prior to adding it to the map, or Marker.setDraggable(boolean)
once it has been added to the map.
意思是你必须先让标记可拖动,像这样:
static final LatLng POSITION = new LatLng(-31.90, 115.86);
Marker marker = mGoogleMAp.addMarker(new MarkerOptions()
.position(PERTH)
.draggable(true));
之后您将观察到调用的 onMarkerDragStart(...) 和 onMarkerDragStart(...) 回调
我正在做一个包含多个标记的 android 应用程序。我想制作标记长按事件,我知道 MarkerDragListener
可以帮助我做到这一点。这是我用于 MarkerDragListener
:
@Override
public void onMapReady(final GoogleMap googleMap) {
Log.d(TAG, "onMapReady()");
mGoogleMap = googleMap;
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mGoogleMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
@Override
public void onMarkerDragStart(Marker arg0) {
// TODO Auto-generated method stub
Log.d("System out", "onMarkerDragStart..."+arg0.getPosition().latitude+"..."+arg0.getPosition().longitude);
}
@SuppressWarnings("unchecked")
@Override
public void onMarkerDragEnd(Marker arg0) {
// TODO Auto-generated method stub
Log.d("System out", "onMarkerDragEnd..."+arg0.getPosition().latitude+"..."+arg0.getPosition().longitude);
}
@Override
public void onMarkerDrag(Marker arg0) {
// TODO Auto-generated method stub
Log.i("System out", "onMarkerDrag...");
}
});
mGoogleMap.setOnMarkerClickListener(this);
}
但是拖动事件对我不起作用,请有人帮我解决。
Markers are not draggable by default. You must explicitly set the marker to be draggable either with
MarkerOptions.draggable(boolean)
prior to adding it to the map, orMarker.setDraggable(boolean)
once it has been added to the map.
意思是你必须先让标记可拖动,像这样:
static final LatLng POSITION = new LatLng(-31.90, 115.86);
Marker marker = mGoogleMAp.addMarker(new MarkerOptions()
.position(PERTH)
.draggable(true));
之后您将观察到调用的 onMarkerDragStart(...) 和 onMarkerDragStart(...) 回调