title: Using new OnMyLocationChangeListener in Google Maps Android API v2
body: <p>Google finally added a callback for location changes in the Android API v2! However, I cannot intuitively get it to work, and Google does not have much documentation for it. Has anyone gotten it to work? What more do I need?</p>
  
  <pre><code>    public class ... extends SupportMapFragment implements GoogleMap.OnMyLocationChangeListener {
  GoogleMap map;
  LocationManager locationManager;
  String provider;
  
          @Override
          public void onActivityCreated(android.os.Bundle savedInstanceState) {
              super.onActivityCreated(savedInstanceState);
              map = getMap();
                      if (map != null) {
                         Criteria criteria = new Criteria();
                         criteria.setAccuracy(Criteria.ACCURACY_FINE);
                             locationManager =(LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
                  provider = locationManager.getBestProvider(criteria, false);
              }
          }
  
          @Override
          public void onResume() {
              super.onResume();
              while(map == null) {
                  map = getMap();
                  map.setMyLocationEnabled(true);
                  map.setOnMyLocationChangeListener(this);
              }
          }
          @Override
          public void onMyLocationChange(Location loc) {
              //implementation
          }
  }
  </code></pre>