Моя карта по списку кликов не работает - PullRequest
0 голосов
/ 28 августа 2018
public class Returnmapdet extends FragmentActivity implements OnMapReadyCallback,GoogleMap.OnMapLongClickListener,GoogleMap.OnCameraMoveListener,GoogleMap.OnMapClickListener {

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_returnmapdet);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

      /*  String[] latLng = "-34.8799074,174.7565664".split(",");
        double latitude = Double.parseDouble(latLng[0]);
        double longitude = Double.parseDouble(latLng[1]);
        LatLng location = new LatLng(latitude, longitude);*/
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        // Add a marker in Sydney and move the camera
        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }

    @Override
    public void onMapLongClick(LatLng point) {
        mMap.addMarker(new MarkerOptions()
                .position(point)
                .title("You are here")
                .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
    }

    @Override
    public void onCameraMove() {
        mMap.setOnCameraMoveListener(this);
    }

    @Override
    public void onMapClick(LatLng latLng) {
        mMap.setOnMapClickListener(this);
        Toast.makeText(getApplicationContext(), "tha",
                Toast.LENGTH_LONG).show();
    }

}

когда я запускаю карту и когда я нажимаю на карту, она ничего не пьет.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

вы реализуете свой интерфейс, но вы должны добавить этот код

mMap.setOnMapLongClickListener(this);
mMap.setOnCameraMoveListener(this);
mMap.setOnMapClickListener(this);

чтобы добавить обратный вызов в вашу деятельность. Гудлак

0 голосов
/ 28 августа 2018

Набор onClickListener на объекте Карты внутри onMapReady

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    mMap.setOnMapClickListener(this);
    mMap.setOnMapLongClickListener(this);
}

удалить mMap.setOnMapClickListener(this); из onMapClick метода, его не нужно.

Счастливое кодирование.

...