1
私はアプリを構築していますが、私はGoogle Mapsの問題を抱えています。私はほとんどのコードを書いていますが、ユーザーが項目(メソッドonItemClick)をクリックしたときの設定方法はありません。私の場合FirebaseのListViewにコンサートのツアーを表示しています。ここに表示されます:my tours listview特定の場所を開いて地図上に表示します。例えば、ユーザーはアナハイム、カリフォルニア州のコンサートをクリックし、その場所がどこにあるかを示します。前もって感謝します。Googleマップを開くにはどのようにonItemClickメソッドを設定するのですか?
public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
private static final int REQUEST_LOCATION_PERMISSION = 10;
private GoogleMap.OnMapClickListener mCustomOnMapClickListener;
private GoogleMap mGoogleMap;
private MapFragment mMapFragment;
@BindView(R.id.lvTours) ListView lvTours;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
this.initialize();
}
public void initialize(){
this.mMapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.fGoogleMap);
this.mMapFragment.getMapAsync(this);
this.mCustomOnMapClickListener = new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
MarkerOptions newMarkerOptions = new MarkerOptions();
newMarkerOptions.icon(BitmapDescriptorFactory.fromResource(R.mipmap.tour));
newMarkerOptions.title("Tour");
newMarkerOptions.snippet("It' was here!");
newMarkerOptions.position(latLng);
mGoogleMap.addMarker(newMarkerOptions);
}
};
}
@Override
public void onMapReady(GoogleMap googleMap) {
this.mGoogleMap = googleMap;
UiSettings uiSettings = this.mGoogleMap.getUiSettings();
uiSettings.setZoomControlsEnabled(true);
uiSettings.setMyLocationButtonEnabled(true);
uiSettings.setZoomGesturesEnabled(true);
this.mGoogleMap.setOnMapClickListener(this.mCustomOnMapClickListener);
}
private boolean hasLocationPermission() {
String LocationPermission = android.Manifest.permission.ACCESS_FINE_LOCATION;
int status = ContextCompat.checkSelfPermission(this, LocationPermission);
if (status == PackageManager.PERMISSION_GRANTED) {
this.mGoogleMap.setMyLocationEnabled(true);
return true;
}
return false;
}
private void requestPermission() {
String[] permission = new String[]{Manifest.permission.ACCESS_FINE_LOCATION};
ActivityCompat.requestPermissions(MapActivity.this, permission, REQUEST_LOCATION_PERMISSION);
}
@OnItemClick(R.id.lvTours)
public void onClick()
{
}
}
ようこそカメラの仕組みに関する詳細情報が必要な場合は、しばらく時間を取って公式文書[here](https://developers.google.com/maps/documentation/android-api/views) –
を読むことを強くお勧めします。有益ですが、1つの問題が残ります。私はあなたのコードの最後に表示されるメソッドonItemClickを持っています。今、ツアーのアイテム、つまりオブジェクトのリストをクリックするたびに、その場所の地図を表示したいと思います。あなたはそれをする方法を知っていますか? – JoelTRowe
ハム、私はバターナイフを使用していないので、私はKotlinを使用しています。しかし、間違ったことを思い出さなければ、あなたはそうすることができます: '@OnItemClick(R.id.listView) public void onItemClick(AdapterView >アダプタ、int位置){ } '。あなたのクリックされた要素の位置を持っていれば大丈夫でしょう –