0

내 현재 위치를 내 응용 프로그램에 표시하는 방법을 추가하려고하는데 오류가 발생하지 않고이를 수행하는 방법을 알 수 없습니다. 나는 현재이 두 가지를 별도의 활동 (하나의 활동에있는 마커 위치와 다른 활동에있는 나의 위치)에 잘못 저장하고 그들을 결합하는 것처럼 보이지 않는다. 내 문제를 설명하는 데 불쌍한 시도에 대해 죄송합니다. 잘하면이 코드가 더 도움이 될 것입니다.지도 응용 프로그램에 현재 위치 넣기

MainActivity  

package com.kieranmaps.v2maps; 

import java.util.Hashtable; 
import android.content.Context; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.app.ActivityManager; 
import android.app.Activity; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.os.Build; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.view.View; 
import android.widget.ImageView; 
import android.widget.TextView; 

import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.GoogleMap.InfoWindowAdapter; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.BitmapDescriptorFactory; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 
import com.kieranmaps.v2maps.R; 
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; 
import com.nostra13.universalimageloader.cache.memory.impl.FIFOLimitedMemoryCache; 
import com.nostra13.universalimageloader.core.DisplayImageOptions; 
import com.nostra13.universalimageloader.core.ImageLoader; 
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; 
import com.nostra13.universalimageloader.core.assist.QueueProcessingType; 
import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener; 

public class MainActivity extends FragmentActivity { 

    private GoogleMap googleMap; 
    private final LatLng OREILLYS = new LatLng(53.348347, -6.254119); 
    private final LatLng LAGOONA = new LatLng(53.349810, -6.243160); 
    private final LatLng COPPERS = new LatLng (53.335356, -6.263481); 
    private final LatLng WRIGHTS = new LatLng (53.445491, -6.223857); 
    private final LatLng ACADEMY = new LatLng (53.348045,-6.26198); 
    private final LatLng DICEYS = new LatLng (53.347250, -6.254198); 
    private final LatLng PYGMALION = new LatLng (53.342183,-6.262358); 
    private final LatLng FIBBERS = new LatLng (53.352799,-6.260412); 
// private final LatLng TEST = new LatLng (5352799,-6.260412); 


    private Marker marker; 
    private Hashtable<String, String> markers; 
    private ImageLoader imageLoader; 
    private DisplayImageOptions options; 

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

     googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) 
       .getMap(); 

     initImageLoader(); 
     markers = new Hashtable<String, String>(); 
     imageLoader = ImageLoader.getInstance(); 

     options = new DisplayImageOptions.Builder() 
      .showStubImage(R.drawable.ic_launcher)  // Display Stub Image 
      .showImageForEmptyUri(R.drawable.ic_launcher) // If Empty image found 
      .cacheInMemory() 
      .cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565).build(); 

     if (googleMap != null) { 

      googleMap.setInfoWindowAdapter(new CustomInfoWindowAdapter()); 

      final Marker oreillys = googleMap.addMarker(new MarkerOptions().position(OREILLYS) 
         .title("O Reillys")); 
      markers.put(oreillys.getId(), "http://img.india-forums.com/images/100x100/37525-a-still-image-of-akshay-kumar.jpg"); 

      googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(OREILLYS, 15)); 
      googleMap.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); 

      final Marker coppers = googleMap.addMarker(new MarkerOptions().position(COPPERS) 
        .title("Coppers")); 
      markers.put(coppers.getId(), "http://f3.thejournal.ie/media/2011/11/coppers1-390x285.png"); 

      final Marker wrights = googleMap.addMarker(new MarkerOptions().position(WRIGHTS) 
        .title("The Wright Venue")); 
      markers.put(wrights.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg"); 

      final Marker lagoona = googleMap.addMarker(new MarkerOptions().position(LAGOONA) 
        .title("The Lagoona")); 
      markers.put(lagoona.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg"); 

      final Marker academy = googleMap.addMarker(new MarkerOptions().position(ACADEMY) 
        .title("The Academy")); 
      markers.put(academy.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg"); 

      final Marker pygmalion = googleMap.addMarker(new MarkerOptions().position(PYGMALION) 
        .title("The Pygmalion")); 
      markers.put(pygmalion.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg"); 

      final Marker fibbers = googleMap.addMarker(new MarkerOptions().position(FIBBERS) 
        .title("Fibbers")); 
      markers.put(fibbers.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg"); 

      final Marker diceys = googleMap.addMarker(new MarkerOptions().position(DICEYS) 
        .title("Dicey's")); 
      markers.put(diceys.getId(), "https://dublinnow.files.wordpress.com/2012/05/diceys.jpg"); 

    /*  final Marker diceys = googleMap.addMarker(new MarkerOptions() 
      .position(DICEYS) 
      .title("Diceys") 
      .snippet("Drink Deal: 3.50. Adm: 5, Performance: Gen")); 

      Marker marker = GoogleMap.addMarker(new MarkerOptions() 
      .position(latLng) 
      .title("Title") 
      .snippet("Snippet") 
      .icon(BitmapDescriptorFactory 
      .fromResource(R.drawable.marker))); */ 

//marker.showInfoWindow(); 
     } 

    } 

    private class CustomInfoWindowAdapter implements InfoWindowAdapter { 

     private View view; 

     public CustomInfoWindowAdapter() { 
      view = getLayoutInflater().inflate(R.layout.custom_info_window, 
        null); 
     } 

     @Override 
     public View getInfoContents(Marker marker) { 

      if (MainActivity.this.marker != null 
        && MainActivity.this.marker.isInfoWindowShown()) { 
       MainActivity.this.marker.hideInfoWindow(); 
       MainActivity.this.marker.showInfoWindow(); 
      } 
      return null; 
     } 

     @Override 
     public View getInfoWindow(final Marker marker) { 
      MainActivity.this.marker = marker; 

      String url = null; 

      if (marker.getId() != null && markers != null && markers.size() > 0) { 
       if (markers.get(marker.getId()) != null && 
         markers.get(marker.getId()) != null) { 
        url = markers.get(marker.getId()); 
       } 
      } 
      final ImageView image = ((ImageView) view.findViewById(R.id.badge)); 

      if (url != null && !url.equalsIgnoreCase("null") 
        && !url.equalsIgnoreCase("")) { 
       imageLoader.displayImage(url, image, options, 
         new SimpleImageLoadingListener() { 
          @Override 
          public void onLoadingComplete(String imageUri, 
            View view, Bitmap loadedImage) { 
           super.onLoadingComplete(imageUri, view, 
             loadedImage); 
           getInfoContents(marker); 
          } 
         }); 
      } else { 
       image.setImageResource(R.drawable.ic_launcher); 
      } 
// 
      final String title = marker.getTitle(); 
      final TextView titleUi = ((TextView) view.findViewById(R.id.title)); 
      if (title != null) { 
       titleUi.setText(title); 
      } else { 
       titleUi.setText(""); 
      } 

      final String snippet = marker.getSnippet(); 
      final TextView snippetUi = ((TextView) view 
        .findViewById(R.id.snippet)); 
      if (snippet != null) { 
       snippetUi.setText(snippet); 
      } else { 
       snippetUi.setText(""); 
      } 

      return view; 
     } 
    } 

    private void initImageLoader() { 
     int memoryCacheSize; 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { 
      int memClass = ((ActivityManager) 
        getSystemService(Context.ACTIVITY_SERVICE)) 
        .getMemoryClass(); 
      memoryCacheSize = (memClass/8) * 1024 * 1024; 
     } else { 
      memoryCacheSize = 2 * 1024 * 1024; 
     } 

     final ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
       this).threadPoolSize(5) 
       .threadPriority(Thread.NORM_PRIORITY - 2) 
       .memoryCacheSize(memoryCacheSize) 
       .memoryCache(new FIFOLimitedMemoryCache(memoryCacheSize-1000000)) 
       .denyCacheImageMultipleSizesInMemory() 
       .discCacheFileNameGenerator(new Md5FileNameGenerator()) 
       .tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging() 
       .build(); 

     ImageLoader.getInstance().init(config); 
    } 
} 

NewActivity :

package com.kieranmaps.v2maps; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 

import org.json.JSONObject; 

import android.content.Context; 
import android.graphics.Color; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.util.Log; 
import android.view.Menu; 
import android.widget.Toast; 

import com.google.android.gms.maps.CameraUpdate; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.BitmapDescriptorFactory; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 
import com.google.android.gms.maps.model.PolylineOptions; 

public class NewActivity extends FragmentActivity { 

    GoogleMap map; 
    ArrayList<LatLng> markerPoints; 

    private double sourceLatitude, sourceLongitude; 

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

     // Initializing 
     markerPoints = new ArrayList<LatLng>(); 

     // Getting reference to SupportMapFragment of the activity_main 
     SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); 

     // Getting Map for the SupportMapFragment 
     map = fm.getMap(); 

     // Enable MyLocation Button in the Map 
     map.setMyLocationEnabled(true);  

     LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     LocationListener mlocListener = new MyLocationListener(); 

     mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10, 0, 
       mlocListener); 
     mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 
       10, 0, mlocListener); 

//  // Setting onclick event listener for the map 
//  map.setOnMapClickListener(new OnMapClickListener() { 
//   
//   @Override 
//   public void onMapClick(LatLng point) { 
//    
//    Toast.makeText(getApplicationContext(), "Clicked !", Toast.LENGTH_SHORT).show(); 
//    
//    // Already two locations     
//    if(markerPoints.size()>1){ 
//     markerPoints.clear(); 
//     map.clear();      
//    } 
//    
//    // Adding new item to the ArrayList 
//    markerPoints.add(point);     
//    
//    // Creating MarkerOptions 
//    MarkerOptions options = new MarkerOptions(); 
//    
//    // Setting the position of the marker 
//    options.position(point); 
//    
//    /** 
//    * For the start location, the color of marker is GREEN and 
//    * for the end location, the color of marker is RED. 
//    */ 
//    if(markerPoints.size()==1){ 
//     options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)); 
//    }else if(markerPoints.size()==2){ 
//     options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)); 
//    } 
//       
//    
//    // Add new marker to the Google Map Android API V2 
//    map.addMarker(options); 
//    
//    // Checks, whether start and end locations are captured 
//    if(markerPoints.size() >= 2){     
//     LatLng origin = markerPoints.get(0); 
//     LatLng dest = markerPoints.get(1); 
//     
//     // Getting URL to the Google Directions API 
//     String url = getDirectionsUrl(origin, dest);     
//     
//     DownloadTask downloadTask = new DownloadTask(); 
//     
//     // Start downloading json data from Google Directions API 
//     downloadTask.execute(url); 
//    } 
//    
//   } 
//  }); 

    } 

    private void sourceTodestination() {   
     // Source 
     LatLng point = new LatLng(sourceLatitude, sourceLongitude); 

     // Destination 
     double destLatitude = 23.7383; 
     double destLongitude = 90.3958; 
     LatLng point1 = new LatLng(destLatitude, destLongitude); 

     CameraUpdate center= 
       CameraUpdateFactory.newLatLng(new LatLng((sourceLatitude + destLatitude)/2, (sourceLongitude + destLongitude)/2)); 
      CameraUpdate zoom=CameraUpdateFactory.zoomTo(13); 

      map.moveCamera(center); 
      map.animateCamera(zoom); 

     // Adding new item to the ArrayList 
     markerPoints.add(point);  

     markerPoints.add(point1); 

     // Creating MarkerOptions 
     MarkerOptions options = new MarkerOptions(); 

     // Setting the position of the marker 
     options.position(point); 

     /** 
     * For the start location, the color of marker is GREEN and 
     * for the end location, the color of marker is RED. 
     */ 
     options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)); 

     MarkerOptions options1 = new MarkerOptions(); 
     options1.position(point1); 
     options1.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)); 

     // Add new marker to the Google Map Android API V2 
     map.addMarker(options); 
     map.addMarker(options1); 

     // Checks, whether start and end locations are captured 
     if(markerPoints.size() >= 2){     
      LatLng origin = markerPoints.get(0); 
      LatLng dest = markerPoints.get(1); 

      // Getting URL to the Google Directions API 
      String url = getDirectionsUrl(origin, dest);     

      DownloadTask downloadTask = new DownloadTask(); 

      // Start downloading json data from Google Directions API 
      downloadTask.execute(url); 
     } 
    } 

    private String getDirectionsUrl(LatLng origin,LatLng dest){ 

     // Origin of route 
     String str_origin = "origin="+origin.latitude+","+origin.longitude; 

     // Destination of route 
     String str_dest = "destination="+dest.latitude+","+dest.longitude;  


     // Sensor enabled 
     String sensor = "sensor=false";   

     // Building the parameters to the web service 
     String parameters = str_origin+"&"+str_dest+"&"+sensor; 

     // Output format 
     String output = "json"; 

     // Building the url to the web service 
     String url = "https://maps.googleapis.com/maps/api/directions/"+output+"?"+parameters; 


     return url; 
    } 

    /** A method to download json data from url */ 
    private String downloadUrl(String strUrl) throws IOException{ 
     String data = ""; 
     InputStream iStream = null; 
     HttpURLConnection urlConnection = null; 
     try{ 
       URL url = new URL(strUrl); 

       // Creating an http connection to communicate with url 
       urlConnection = (HttpURLConnection) url.openConnection(); 

       // Connecting to url 
       urlConnection.connect(); 

       // Reading data from url 
       iStream = urlConnection.getInputStream(); 

       BufferedReader br = new BufferedReader(new InputStreamReader(iStream)); 

       StringBuffer sb = new StringBuffer(); 

       String line = ""; 
       while((line = br.readLine()) != null){ 
         sb.append(line); 
       } 

       data = sb.toString(); 

       br.close(); 

     }catch(Exception e){ 
       Log.d("Exception while downloading url", e.toString()); 
     }finally{ 
       iStream.close(); 
       urlConnection.disconnect(); 
     } 
     return data; 
    } 



    // Fetches data from url passed 
    private class DownloadTask extends AsyncTask<String, Void, String>{   

     // Downloading data in non-ui thread 
     @Override 
     protected String doInBackground(String... url) { 

      // For storing data from web service 
      String data = ""; 

      try{ 
       // Fetching the data from web service 
       data = downloadUrl(url[0]); 
      }catch(Exception e){ 
       Log.d("Background Task",e.toString()); 
      } 
      return data;   
     } 

     // Executes in UI thread, after the execution of 
     // doInBackground() 
     @Override 
     protected void onPostExecute(String result) {   
      super.onPostExecute(result);    

      ParserTask parserTask = new ParserTask(); 

      // Invokes the thread for parsing the JSON data 
      parserTask.execute(result); 

     }  
    } 

    /** A class to parse the Google Places in JSON format */ 
    private class ParserTask extends AsyncTask<String, Integer, List<List<HashMap<String,String>>> >{ 

     // Parsing the data in non-ui thread   
     @Override 
     protected List<List<HashMap<String, String>>> doInBackground(String... jsonData) { 

      JSONObject jObject; 
      List<List<HashMap<String, String>>> routes = null;      

      try{ 
       jObject = new JSONObject(jsonData[0]); 
       DirectionsJSONParser parser = new DirectionsJSONParser(); 

       // Starts parsing data 
       routes = parser.parse(jObject);  
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 
      return routes; 
     } 

     // Executes in UI thread, after the parsing process 
     @Override 
     protected void onPostExecute(List<List<HashMap<String, String>>> result) { 
      ArrayList<LatLng> points = null; 
      PolylineOptions lineOptions = null; 
      MarkerOptions markerOptions = new MarkerOptions(); 

      // Traversing through all the routes 
      for(int i=0;i<result.size();i++){ 
       points = new ArrayList<LatLng>(); 
       lineOptions = new PolylineOptions(); 

       // Fetching i-th route 
       List<HashMap<String, String>> path = result.get(i); 

       // Fetching all the points in i-th route 
       for(int j=0;j<path.size();j++){ 
        HashMap<String,String> point = path.get(j);     

        double lat = Double.parseDouble(point.get("lat")); 
        double lng = Double.parseDouble(point.get("lng")); 
        LatLng position = new LatLng(lat, lng); 

        points.add(position);      
       } 

       // Adding all the points in the route to LineOptions 
       lineOptions.addAll(points); 
       lineOptions.width(2); 
       lineOptions.color(Color.RED); 

      } 

      // Drawing polyline in the Google Map for the i-th route 
      map.addPolyline(lineOptions);       
     }   
    } 

    /* Class My Location Listener */ 
    public class MyLocationListener implements LocationListener { 

     public void onLocationChanged(Location loc) { 

      sourceLatitude = loc.getLatitude(); 
      sourceLongitude = loc.getLongitude(); 

      sourceTodestination(); 

      Toast.makeText(getApplicationContext(), sourceLatitude + " - " + sourceLongitude, 
        Toast.LENGTH_SHORT).show(); 
     } 

     public void onProviderDisabled(String provider) { 
      Toast.makeText(getApplicationContext(), "Gps Disabled", 
        Toast.LENGTH_SHORT).show(); 
     } 

     public void onProviderEnabled(String provider) { 
      android.util.Log.v("", "Latitud = "); 
      Toast.makeText(getApplicationContext(), "Gps Enabled", 
        Toast.LENGTH_SHORT).show(); 
     } 

     public void onStatusChanged(String provider, int status, Bundle extras) { 
      android.util.Log.v("", "status = "); 
     } 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 

JSON 파서

import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import com.google.android.gms.maps.model.LatLng; 

public class DirectionsJSONParser { 

    /** Receives a JSONObject and returns a list of lists containing latitude and longitude */ 
    public List<List<HashMap<String,String>>> parse(JSONObject jObject){ 

     List<List<HashMap<String, String>>> routes = new ArrayList<List<HashMap<String,String>>>() ; 
     JSONArray jRoutes = null; 
     JSONArray jLegs = null; 
     JSONArray jSteps = null;  

     try {   

      jRoutes = jObject.getJSONArray("routes"); 

      /** Traversing all routes */ 
      for(int i=0;i<jRoutes.length();i++){    
       jLegs = ((JSONObject)jRoutes.get(i)).getJSONArray("legs"); 
       List path = new ArrayList<HashMap<String, String>>(); 

       /** Traversing all legs */ 
       for(int j=0;j<jLegs.length();j++){ 
        jSteps = ((JSONObject)jLegs.get(j)).getJSONArray("steps"); 

        /** Traversing all steps */ 
        for(int k=0;k<jSteps.length();k++){ 
         String polyline = ""; 
         polyline = (String)((JSONObject)((JSONObject)jSteps.get(k)).get("polyline")).get("points"); 
         List<LatLng> list = decodePoly(polyline); 

         /** Traversing all points */ 
         for(int l=0;l<list.size();l++){ 
          HashMap<String, String> hm = new HashMap<String, String>(); 
          hm.put("lat", Double.toString(((LatLng)list.get(l)).latitude)); 
          hm.put("lng", Double.toString(((LatLng)list.get(l)).longitude)); 
          path.add(hm);      
         }        
        } 
        routes.add(path); 
       } 
      } 

     } catch (JSONException e) {   
      e.printStackTrace(); 
     }catch (Exception e){   
     } 


     return routes; 
    } 


    /** 
    * Method to decode polyline points 
    * Courtesy : http://jeffreysambells.com/2010/05/27/decoding-polylines-from-google-maps-direction-api-with-java 
    * */ 
    private List<LatLng> decodePoly(String encoded) { 

     List<LatLng> poly = new ArrayList<LatLng>(); 
     int index = 0, len = encoded.length(); 
     int lat = 0, lng = 0; 

     while (index < len) { 
      int b, shift = 0, result = 0; 
      do { 
       b = encoded.charAt(index++) - 63; 
       result |= (b & 0x1f) << shift; 
       shift += 5; 
      } while (b >= 0x20); 
      int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); 
      lat += dlat; 

      shift = 0; 
      result = 0; 
      do { 
       b = encoded.charAt(index++) - 63; 
       result |= (b & 0x1f) << shift; 
       shift += 5; 
      } while (b >= 0x20); 
      int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); 
      lng += dlng; 

      LatLng p = new LatLng((((double) lat/1E5)), 
        (((double) lng/1E5))); 
      poly.add(p); 
     } 

     return poly; 
    } 
} 

내 무지에 대한 용서하지만 나는이 두 가지 작업을 얻을 방법을 알아낼 수 없습니다. 어떤 팁 감사! 감사 편집 : 자세한 내용은, 난 단지 위치를 보여주는이 작업을 얻을 수 있지만 내가 그 목적지를

답변

0

현재 위치에 내 현재 위치와 경로를 보여 얻을 수없는이 방법에서 LOC는

public void onLocationChanged(Location loc) 

정확한 위치를 얻으려면 loc 위치에 정확도를 적용하십시오. 정확도 임계 값은 귀하에게 달려 있습니다. 30m 미만은 괜찮습니다.

관련 문제