0

移動中にポリラインが線を描画しない理由がわかる人はいますか? マップが表示され、位置の矢印が追跡されますが、線は描画されません。ラインを継続的に追跡するには、これがすべて必要だと思いました。

PolylineOptions rectOptions = new PolylineOptions()
.add(new LatLng(location.getLatitude(), location.getLongitude()));
rectOptions.color(Color.RED);
mMap.addPolyline(rectOptions);


@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    LocationManager locationmanager = (LocationManager) getSystemService(LOCATION_SERVICE);


    locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

        if (v.getId() == R.id.button1) {setIt = true;};
        if (v.getId() == R.id.button2) { mMap.clear();};
        if (v.getId() == R.id.buttonPauseIt) { setIt = false;};
        if (v.getId() == R.id.buttonResume) { setIt = true;};

}

@Override
public void onLocationChanged(Location location) {


    PolylineOptions rectOptions = new PolylineOptions()
    .add(new LatLng(location.getLatitude(), location.getLongitude()));
    rectOptions.color(Color.RED);

     if (setIt == true){
          mMap.addPolyline(rectOptions);}


}   
4

1 に答える 1

2

単一の点のみを持つ新しいポリラインを継続的に追加していると思いますが、線はありません。rectOptions をフィールド変数として保存してみてください。

        PolylineOptions rectOptions = new PolylineOptions().width(3).color(
                Color.RED);

        @Override
        public void onLocationChanged(Location location) {


            rectOptions.add(new LatLng(location.getLatitude(), location.getLongitude()));

             if (setIt == true){
                  mMap.addPolyline(rectOptions);
             }


        }  
于 2013-09-25T22:19:06.953 に答える