1

場所を使用して、場所の経度、緯度を取得するGoogleマップを作成しようとしました。これが私のコードです

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);  
Location myLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
String uri = "http://maps.google.com/maps?saddr=" + (myLocation.getLatitude())+","+(myLocation.getLongitude())+"&daddr="+destLat+","+destLon;

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));

intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);

実行されますが、何も起こりません。私の場所を表示するだけです。宣言のどこが間違っているのか誰か教えてもらえますか??お願いします

4

2 に答える 2

3

これを試して

private boolean gps_enabled = false;
private boolean network_enabled = false;
private LocationListener locListener = new MyLocationListener();
LocationManager locManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

    try {
        gps_enabled = locManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    } catch (Exception ex) {
    }
    try {
        network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
    } catch (Exception ex) {
    }

    // don't start listeners if no provider is enabled
    if (!gps_enabled && !network_enabled) {

    }

    if (gps_enabled) {
        locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 10, locListener);
    }
    if (network_enabled) {
        locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 10, locListener);
    }

class MyLocationListener implements LocationListener {

    public void onLocationChanged(Location location) {

            currentLocation = location;


    }



    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }


    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }


    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

}

そして、あなたが場所を取得したら、あなたは使用することができます

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr=<start lat>,<start lon>&daddr=<dest lat>,<dest lon>"));
startActivity(intent);
于 2012-05-17T07:47:32.683 に答える
3

https://github.com/frogermcs/RoutePathExampleの完全なソース コードは、2 つのジオロケーション間のパスを描画する方法を示しています。私はこのコードをまったく問題なく使用しています。あなたはそれをチェックする必要があります

于 2012-05-17T06:50:25.793 に答える