마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

gps 이동경로 나타내기 질문입니다 ( polyline 사용)

0 추천
public class MainActivity extends FragmentActivity implements
 OnMapClickListener {
 GoogleMap mGoogleMap;
 TextView text01;
 private ArrayList<LatLng> arrayPoints;
 
 

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  text01 = (TextView) findViewById(R.id.text01);
  Button button01 = (Button) findViewById(R.id.button01);
  button01.setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
    getMyLocation();
   }
  });

  init();
 }

 private void getMyLocation() {
  LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

  long minTime = 5000;
  float minDistance = 10;
  
  MyLocationListener listener = new MyLocationListener();

  manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime,
    minDistance, listener);

  //appendText("내위치를 요청했습니다.");
 }

 private void appendText(String msg) {
  text01.append(msg + "\n");
 }

 class MyLocationListener implements LocationListener {

  public void onLocationChanged(Location location) {
   
   Intent getI = getIntent();
   String title = getI.getStringExtra("title");

   double latitude = location.getLatitude();
   double longitude = location.getLongitude();
   
   LatLng position = new LatLng(latitude, longitude);
   appendText("현재위치 : "+ latitude + ","+ longitude);
   mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 15));
   
   //arrayPoints=new ArrayList<LatLng>();
   
   mGoogleMap.addMarker(
     new MarkerOptions().position(position).title(title))
     .showInfoWindow();
    
   PolylineOptions line = new PolylineOptions()
   .color(Color.RED)
   .width(5);
   //.add(position)
   //.add(new LatLng(location.getLatitude(),location.getLongitude()));
   line.add(position); 
   arrayPoints.add(position);
   line.addAll(arrayPoints);
  
   Polyline pl=mGoogleMap.addPolyline(line);  
  }

  public void onStatusChanged(String provider, int status, Bundle extras) {}

  public void onProviderEnabled(String provider) {}

  public void onProviderDisabled(String provider) {}

 }

gps를 사용하여 이동경로를 나타내려 합니다. polyline을 사용한다는 것을 알고 소스에 추가해봤는데, 실행해보니 안되네요.. (위의 소스 밑에는 경로의 초기화 소스만 있습니다.)  polyline을 어떻게 추가해야 경로가 나타나는지 알고싶습니다.

asd1472 (120 포인트) 님이 2015년 4월 24일 질문

2개의 답변

0 추천
구글에서 지도 앱 샘플 줍니다. 거기서 라인그리는 예제화면 가면 나와있어요
쎄미 (162,410 포인트) 님이 2015년 4월 25일 답변
0 추천
소스는 맞아요

폴리라인을 그릴려면 최소 2개의 점이 있어야 가능할텐데.

add를 한번만 해주시나요 ?

임의적으로 add를 2개이상 해보세요
쿵뿌팬더 (3,440 포인트) 님이 2015년 4월 28일 답변
...