我正在使用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);
答案 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保存当前位置的纬度和经度, 使其成为全局,并在代码中使用其纬度和经度值。希望有所帮助,问候。