2013-07-20 43 views
0

我试图用gps更新每秒添加一个圈子到地图。我将如何通过位置location = locationmanager.getLastKnownLocation(provider);每秒创造一个新的圈子?这是我到目前为止。android maps api v2添加多个圈子

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



} 

}

+0

结帐这个库:https://github.com/i-schuetz/map_areas – Ixx

回答

1

而不是使用getLastKnownLocation的,你是用LocationListener的回调的更好:onLocationChange对于这一点,你似乎已经实现了和要求。

要转换LocationLatLng使用:

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

这似乎与添加当前位置的新圈子,但我想它保持旧的圈子,以便我可以看到我采取了什么路径(类似于gps上的高亮路线)。我要添加什么才能让它不断添加新的圈子?谢谢。 – johnsonjp34

+0

@ user1936916当您调用'mMap.addCircle'时会添加圆圈。只是不要调用'mMap.clear'或'circle.remove'。 –