简体   繁体   English

我的点击列表上的地图不起作用

[英]My map on click listner is not working

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();
    }

}

when i launch the map and when i click the map it doesn't toasting me any thing. 当我启动地图时,当我单击地图时,它不会为我烘烤任何东西。

Set onClickListener on Map object inside onMapReady 设置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);
}

remove mMap.setOnMapClickListener(this); 删除mMap.setOnMapClickListener(this); from onMapClick method, its unnecessary. onMapClick方法开始,它是不必要的。

Happy Coding. 编码愉快。

you implement your interface but you should add this code 您实现您的界面,但您应该添加此代码

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

to add callback to your activity. 为您的活动添加回调。 goodluck 祝好运

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM