如何开始通过onClick运行onLocationChanged方法

时间:2018-07-23 14:14:51

标签: android google-maps

我的onLocationChanged()内部有一个MapsActivity方法,该方法每次移动用户位置时都会绘制折线,但是我希望它由Start按钮触发,因此它不会每次在Map上绘制图形折线结束,用户单击Stop按钮。然后对绘制折线运行distanceBetween()方法。当用户再次单击开始按钮时,它.clear();在地图上,并重新开始,我已经管理了图形的折线部分,distanceBetween()部分,但是我不知道如何通过开始和停止来触发在onLocationChanged()方法中点击drawpolyline,我该怎么做?

@Override
    public void onLocationChanged(Location location) {
        if (mGoogleApiClient == null) {
            buildGoogleApiClient();
        }
        latLng = new LatLng(location.getLatitude(), location.getLongitude());
        latA = latLng.latitude;
        longA = latLng.longitude;
        tvlattitude.setText(""+latA);
        tvlongitude.setText(""+longA);

        listPointsB.add(latLng);
        pOptions = new PolylineOptions()
                .width(5)
                .color(Color.BLUE)
                .geodesic(true);
        for (int z = 0; z < listPointsB.size(); z++) {
            LatLng point = listPointsB.get(z);
            pOptions.add(point);
        }
        line = mMap.addPolyline(pOptions);
//        Toast.makeText(this, "Location Changed",Toast.LENGTH_SHORT).show();
    }

这是按钮

Button bStart = (Button)findViewById(R.id.btStart);
        bStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

        Button bStop = (Button) findViewById(R.id.btStop);
        bStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //
            }
        });

1 个答案:

答案 0 :(得分:0)