[Android]_ch9.9_標記事件處理
標記點擊事件:OnMarkerClickListener.onMarkerClick(Marker)
訊息視窗點擊事件:OnInfoWindowClickListener.onInfoWindowClick
標記拖曳事件:OnMarkerDragListener
onMarkerDragStart(Marker)
onMarkerDrag(Marker)
onMarkerDragEnd(Marker)
MarkerListener markerListener=new MarkerListener();
map.setOnInfoWindowClickListener(markerListener);
map.setOnMarkerClickListener(markerListener);
map.setOnMarkerDragListener(markerListener);
map.setOnMapClickListener(markerListener);
public class MarkerListener implements OnMarkerClickListener,OnMarkerDragListener,OnInfoWindowClickListener,OnMapClickListener{
@Override
public void onInfoWindowClick(Marker marker) {
LatLng latLng=marker.getPosition();
Toast.makeText(MainActivity.this, "訊息視窗被點擊..位置:"+latLng.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onMarkerDrag(Marker marker) {
Toast.makeText(MainActivity.this, "2.標記拖曳中..", Toast.LENGTH_SHORT).show();
}
@Override
public void onMarkerDragEnd(Marker marker) {
Toast.makeText(MainActivity.this, "3.結束標記拖曳..", Toast.LENGTH_SHORT).show();
}
@Override
public void onMarkerDragStart(Marker marker) {
Toast.makeText(MainActivity.this, "1.開始標記拖曳..", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onMarkerClick(Marker marker) {
LatLng latLng=marker.getPosition();
CameraPosition cp=new CameraPosition.Builder().target(latLng).zoom(15).build();
CameraUpdate cu=CameraUpdateFactory.newCameraPosition(cp);
map.animateCamera(cu);
Toast.makeText(MainActivity.this, "標記被點擊..位置:"+latLng.toString(), Toast.LENGTH_SHORT).show();
return false;
}
@Override
public void onMapClick(LatLng point) {
MarkerOptions mo=new MarkerOptions();
mo.position(point);
mo.snippet(point.toString());
mo.icon(BitmapDescriptorFactory.fromResource(R.drawable.m1));
mo.draggable(true);
map.addMarker(mo);
}
}
沒有留言:
張貼留言