下面是我的代码,它提供硬编码的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));
}
答案 0 :(得分:1)
尝试添加此行:
supportMap.setMyLocationEnabled(true);
答案 1 :(得分:0)
您显然需要获取用户的当前位置。您需要使用LocationListener来请求持续更新。您可以指定位置更新之间的时间间隔或距离间隔。这将为您提供一个Location
对象,您可以从中提取纬度和经度。然后,您可以使用这两个值指向地图上的当前位置。关于如何获取当前位置有很多问题和很好的答案。你可以从阅读开始:
Location Strategies Google's documentation
以前的一些问题是:
How to get Latitude and Longitude of the mobile device in android?
How to get the current location latitude and longitude in android
希望这有帮助。