2015-12-21 1 views
1

По какой-то причине мои полилинии не будут рисовать. Я не уверен, что происходит. Предполагается, что это будет строка, основанная на обновлении местоположения вашего телефона. Есть идеи?Полилиния перестала рисовать на моей карте

public Boolean isTracking = false; 
public String routeID; 
public int pointID = 0; 
@Override 

public void onLocationChanged(Location location) { 
    mCurrentLocation = location; 
    double lat = location.getLatitude(); 
    double lng = location.getLongitude(); 
    LatLng latLng = new LatLng(lat, lng);  //Location declared into a LatLng 

    if (isTracking){ 
     trackRoute(lat, lng, latLng); 
    } 
} 

private void trackRoute(double lat, double lng, LatLng latLng){ 
    drawLine(latLng);             //call drawline 
    database.insertPoint(routeID, pointID, lat, lng);     //Insert points into database 
    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 18)); 
    pointID++; 
} 
private void drawLine(LatLng latLng){ 
    PolylineOptions options = new PolylineOptions() 
      .width(5) 
      .color(Color.BLUE) 
      .geodesic(true); 
      options.add(latLng); 

    line = mMap.addPolyline(options);     //set up options and draw line. 
} 

ответ

0

Простой метод пропускания лат и лон в методе drawLine, а также метод drawline с двумя параметрами. Заменить options.add(latLng); линия на options.add(new LatLng(lat,lng));

private void trackRoute(double lat, double lng, LatLng latLng){ 
    drawLine(lat,lng);             
    database.insertPoint(routeID, pointID, lat, lng);     
    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 18)); 
    pointID++; 
} 
private void drawLine(double lat, double lng){ 
    PolylineOptions options = new PolylineOptions() 
      .width(5) 
      .color(Color.BLUE) 
      .geodesic(true); 
      options.add(new LatLng(lat,lng)); 

    line = mMap.addPolyline(options);     
}