誰もが融合したプロバイダ融合ロケーションプロバイダdoesntのプロット連続線
onLocationChanged方法を使用して、最後と現在位置の間の連続線をプロットするとこの種の問題で私を助けることができるのようになります。 :
public void plotroute (Location mylocation){
logEvent("------------Plotting route---------------");
mCurrentLocation = mylocation;
LatLng lastLatLng = new LatLng(mlastLocation.getLatitude(),mlastLocation.getLongitude());
LatLng thisLatLng = new LatLng(mylocation.getLatitude(),mylocation.getLongitude());
map.addPolyline(new PolylineOptions().add(lastLatLng).add(thisLatLng).width(20).color(Color.RED));
}
とあなたが見ることができるように、プロットされたラインが連続イマイチルート
をプロットしました。それが円滑に働くために私が変えなければならないものはありますか?
おかげで、私はそのようにそれを変更すると、その後、私はplotrouteメソッドの内部で、このラインでNULL値を取得する:
コードが何かのようである可能性があります。 getLatitude()、mlastLocation.getLongitude()); –
ああ、申し訳ありません。コードが最初に実行されたとき、 'mCurrentLocation'はまだ' null'なので、 'mLastLocation'は' null'になります。コードは 'mCurrentLocation'がまだ' null'であるかどうかをチェックし、その場合は代わりに 'myLocation'を代入することができます。あるいは、 'mlastLocation'がnullの場合に' plotroute() 'を呼び出さないこともできます。 –
Iveはif(mlastLocation == null)のようにチェックを作成しました{ mlastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);}とその修正はありましたが、そのポリラインにはいくつかの不具合があります(ご覧のとおり)(http://i.imgur.com/ZKDLI8T.png) –