如何在地图中找到我的应用程序使用的位置?

时间:2012-09-29 20:24:37

标签: android google-maps gps position


我应该如何在地图中找到一个位置?

好的,所以我想找到我在公园的门位置,并且当我离门的位置大约50米时自动打电话给门,我想我可以从确定门的位置开始谷歌地图或gps地图 但我真的不知道如何

我试图看到谷歌地图api的一些样本,但我不能让它工作由于某种原因。 无论如何这应该是一个应用程序到底..我希望你们中的一些人会以某种方式帮助我

1 个答案:

答案 0 :(得分:0)

这是您需要的基本功能,您可以从中获得经度和纬度,然后通过向“意图”发送“geo:lat,lon”来启动新活动,并打开您的Google地图应用。这是一种可以找到当前位置的方法。您应该在android开发者网站上阅读有关LocationListener等的更多信息。

public class GetLocation extends Activity {
LocationManager lm;
LocationListener ll;



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

    lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    ll = new MyLocationListener();

    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);

        try {

            double latitude = getLatitude();
            double longitude = getLongitude();
                Uri uri = Uri.parse("geo:"+latitude+","+longitude);

                startActivity(new Intent(Intent.ACTION_VIEW, uri));

                finish();

        } catch(Exception e) {
            System.out.println("ERROR: "+e);
        }


    }

}

@Override
protected void onStop() {
    super.onStop();

    lm.removeUpdates(ll);
}

public class MyLocationListener implements LocationListener {

    public void onLocationChanged(Location loc){
        loc.getLatitude();
        loc.getLongitude();     

    }


    public void onProviderDisabled(String provider) 
    {
    }


    public void onProviderEnabled(String provider)
    {
    }


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

}