android maps api v2 adding multiple circles

自古美人都是妖i 提交于 2020-01-06 08:12:10

问题


I'm trying to add a circle to the map every second with an update from the gps. How would I pass the Location location = locationmanager.getLastKnownLocation(provider); to make a new circle every second? Here is what I have so far.

public class MainActivity extends Activity implements LocationListener{

Location myLocation;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


GoogleMap mMap;
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();


mMap.setMyLocationEnabled(true);





Location myLocation;

LocationManager locationmanager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria cr = new Criteria();
String provider = locationmanager.getBestProvider(cr, true);
Location location = locationmanager.getLastKnownLocation(provider);

locationmanager.requestLocationUpdates(provider, 1000, 0, (LocationListener) this);

CircleOptions circleOptions = new CircleOptions()
.center(new LatLng( , ))
.radius(3.048); // In meters

Circle circle = mMap.addCircle(circleOptions);



 }

}


回答1:


Instead of using getLastKnownLocation, you are better of using LocationListener's callback: onLocationChange for that, which you seem to implement and request already.

To convert Location to LatLng use:

new LatLng(location.getLatitude(), location.getLongitude())


来源:https://stackoverflow.com/questions/17766544/android-maps-api-v2-adding-multiple-circles

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!