マーカー追加
private void addMarker(String title, String snippet, LatLng latlng) {
mMap.addMarker(new MarkerOptions()
.title(title)
.snippet(snippet)
.position(latlng));
}
マップをタップした時のイベント
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
addMarker("タイトル", "スニペット", point);
}
});
マーカーがタップされた時のイベント
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Toast.makeText(getApplicationContext(), "マーカーがタップされたよ", Toast.LENGTH_LONG).show();
return false;
}
});
マーカードラッグイベント
※ マーカー追加オプションでドラッグを有効にすること
mMap.addMarker(new MarkerOptions()
.title(title)
##.draggable(true) ##
.snippet(snippet)
.position(latlng));
mMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
@Override
public void onMarkerDrag(Marker marker) {
Log.d("デバッグ","ドラッグ中");
}
@Override
public void onMarkerDragEnd(Marker marker) {
Log.d("デバッグ","ドラッグ終了");
}
@Override
public void onMarkerDragStart(Marker marker) {
Log.d("デバッグ","ドラッグ開始");
}
});
情報ウインドウを表示
private void addMarker(String title, String snippet, LatLng latlng) {
Marker marker = mMap.addMarker(new MarkerOptions()
.title(title)
.draggable(true)
.snippet(snippet)
.position(latlng));
marker.showInfoWindow();
}
地図を移動
LatLng sydney = new LatLng(-33.867, 151.206);
int zoom = 15;
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, zoom));