MyLocationButtonClick不起作用:location始终返回null

时间:2014-07-11 20:17:30

标签: android google-maps-android-api-2

它工作得很好,但位置按钮不起作用?

这是我的活动代码:

public class MainActivity extends FragmentActivity {
GoogleMap mymap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //lay fragment gan vao map , chinh setting
    SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    mymap = fm.getMap();
    mymap.setMyLocationEnabled(true);
    mymap.getUiSettings().setZoomControlsEnabled(true);
    //view nha` em
    CameraPosition mpos = new CameraPosition(new LatLng(10.7541016, 106.6522564), 18, 0, 0);
    mymap.animateCamera(CameraUpdateFactory.newCameraPosition(mpos));
    mymap.addMarker(new MarkerOptions()
     .position(new LatLng(10.7539991, 106.652467))
     .title("My Sweet Home !")
     .snippet("6/19 võ trường toản")
     .icon(BitmapDescriptorFactory.fromResource(R.drawable.location)));

    mymap.setOnMyLocationButtonClickListener(new OnMyLocationButtonClickListener() {
        @Override
        public boolean onMyLocationButtonClick() {
            LocationManager lcm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            String pvder = lcm.getBestProvider(new Criteria(),false);
            Location lc = lcm.getLastKnownLocation(pvder);
            if(lc != null)
            {
                LatLng ll = new LatLng(lc.getLatitude(), lc.getLongitude());
                mymap.animateCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition(ll, 18, 0, 0)));
                mymap.addMarker(new MarkerOptions()
                 .position(ll)
                 .title("My Sweet Home !")
                 .snippet("6/19 võ trường toản")
                 .icon(BitmapDescriptorFactory.fromResource(R.drawable.location)));
            }
            return true;
        }
    });

}

}

另一个词:位置始终返回null。 我想要的是通过点击位置按钮让相机移动到当前位置。

0 个答案:

没有答案