使用setmylocationenabled方法获取经度和纬度

时间:2015-03-23 12:50:07

标签: android google-maps

我正在使用setmylocationenabled()方法来获取当前位置。它提供了一个gps按钮,当我触摸该按钮时它提供当前位置。但我想知道有没有办法获取当前位置的纬度和经度好吧,当我们触摸那个gps按钮。 任何帮助都会被贬低 这是代码

public class MainActivity extends FragmentActivity {
GoogleMap googlemap;
// latitude and longitude
double latitude = 28.665710;
double longitude = 77.125876;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());
    MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps ");

    if(status!=ConnectionResult.SUCCESS){ 

        int requestCode = 10;
        Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
        dialog.show();

    }else {             

        SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);

       /* LatLng latLng = new LatLng(13.05241, 80.25082);
        googlemap.addMarker(new MarkerOptions().position(latLng).title("Raj Amal"));*/
        googlemap = fm.getMap();
        googlemap.addMarker(marker);
        CameraPosition cameraPosition = new CameraPosition.Builder().target(
                new LatLng(latitude, longitude)).zoom(20).build();

googlemap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
googlemap.setMyLocationEnabled(true);

3 个答案:

答案 0 :(得分:0)

使用setmylocationenabled()方法后,使用getMyLocation()。getLatitude()表示纬度,使用getMyLocation()。getLongitude()表示经度。

尝试这两种方法,这是满足您需求的最简单方法。如果您需要任何帮助,请不要犹豫。

像这样使用: -

 GoogleMap map;
 //initialize your map.
     googlemap.setMyLocationEnabled(true);
 latitude = googlemap.getMyLocation().getLatitude();
 longitude = googlemap .getMyLocation().getLaongitude();
 // now use lat and longitude

希望这可以帮助你:)

答案 1 :(得分:0)

您可以通过提供商 GPS_PROVIDER或NETWORK_PROVIDER 获取您当前的位置信息。您可以实现LocationListener以获取您所在位置的连续更新。

使用setmylocationenabled()方法,您要求谷歌地图将您的位置设置为Google地图显示。此外,此方法返回void,因此使用此方法,我们无法获取当前位置

  

您需要通过getLastKnownLocation()方法获取位置   或使用LocationListener.onLocationChanged()回调

答案 2 :(得分:0)

使用 myLocationChangeListener 通过 setMyLocationEnabled()方法从蓝点获取当前位置的位置更新(纬度和经度)。 请检查以下代码。

private GoogleMap.OnMyLocationChangeListener myLocationChangeListener = new GoogleMap.OnMyLocationChangeListener() {

        @Override
        public void onMyLocationChange(Location location) {

            myLocation = location;

        }
    };

从那里使用GoogleMap对象将监听器附加到下面的

mMap.setOnMyLocationChangeListener(myLocationChangeListener);

第一个代码gist上面的Location对象(myLocation)将在任何时间t保存当前位置的纬度和经度, 使其成为全局,并在代码中使用其纬度和经度值。希望有所帮助,问候。