如何在谷歌地图上获取当前位置

时间:2013-11-06 22:59:53

标签: android

下面是我的代码,它提供硬编码的lat长用户我想显示动态latlong哪里有用户去地图显示用户的当前位置如何做到这一点 ?

       protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_support_map_fragment);


    FragmentManager fmanager = getSupportFragmentManager();
    Fragment fragment = fmanager.findFragmentById(R.id.map);
 SupportMapFragment supportmapfragment = (SupportMapFragment)fragment;
   GoogleMap supportMap = supportmapfragment.getMap();



   LatLng latLng = new LatLng(24.89337, 67.02806);
   supportMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
   supportMap.addMarker(new MarkerOptions()
           .position(latLng)
           .title("My Spot")
           .snippet("This is my new spot!")

 .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
   supportMap.getUiSettings().setCompassEnabled(true);
   supportMap.getUiSettings().setZoomControlsEnabled(true);
   supportMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 20));



}

2 个答案:

答案 0 :(得分:1)

尝试添加此行:

supportMap.setMyLocationEnabled(true);

答案 1 :(得分:0)

您显然需要获取用户的当前位置。您需要使用LocationListener来请求持续更新。您可以指定位置更新之间的时间间隔或距离间隔。这将为您提供一个Location对象,您可以从中提取纬度和经度。然后,您可以使用这两个值指向地图上的当前位置。关于如何获取当前位置有很多问题和很好的答案。你可以从阅读开始:

Location Strategies Google's documentation

以前的一些问题是:

希望这有帮助。