2016-11-01 7 views
1

Я использую google maps api и хотел бы нарисовать cricle на моей позиции, когда я двигаюсь. Все начинается нормально, когда я начинаю, но при перемещении круг остается на месте.Google Maps Move Circle

private void setSearchCircle(LatLng newLatlng) { 
    if (googleMap != null) { 
     radiusCircle = googleMap.addCircle(new CircleOptions() 
       .center(newLatlng) 
       .radius(SEARCH_RADIUS) 
       .fillColor(Color.TRANSPARENT) 
       .strokeColor(mActivity.getResources().getColor(R.color.detail_grey)) 
       .strokeWidth(8)); 
    } 
} 


    private void moveSearchCircle(LatLng newLatlng) { 
    if(radiusCircle != null){ 
     radiusCircle.setCenter(newLatlng); 
    } 
} 

@Override 
public void onLocationChanged(Location location) { 
    if (mLastLocation != null) { 
     lastLatitude = mLastLocation.getLatitude(); 
     lastLongitude = mLastLocation.getLongitude(); 
     LatLng currentLatLng = new LatLng(lastLatitude, lastLongitude); 
     moveSearchCircle(currentLatLng); 
    } 
} 
+0

что результат '' location'' в '' onLocationChanged' ' –

+0

Я получаю циклические обновления положения. Я использую это во фрагменте, я должен сказать – Fesco

ответ

0

Так я нашел мое problem..when я использовать местоположение непосредственно как

@Override 
public void onLocationChanged(Location location) { 
if (mLastLocation != null) { 
    LatLng currentLatLng = new LatLng(location.getLatitude(),location.getLongitude()); 
    moveSearchCircle(currentLatLng); 
    } } 

я работает, как ожидается,

+0

, это не может быть проблемой. Может, у вас не было проблем с самого начала? – eis