And*_*ing 5 android android-mapview google-maps-android-api-2
我有一个MapView,Fragment并且我已经通过setMyLocationEnabled(). 一切都按预期工作。
对于典型的用例,我想放大到用户的位置 - 在股票地图 UI 上按下“我的位置”按钮的确切行为。
我想让用户不必按“我的位置”按钮并自动执行此步骤,但我无法从 API 中看到如何执行此操作。我可以UiSettings从,GoogleMap但这似乎只允许我查询/设置地图 UI的状态(即我的位置是否已启用并因此可以被按下)。
或者我真的必须设置 aLocationClient并计算和动画到 aCameraUpdate吗?这似乎是做一些非常常见/简单的事情的大量跑腿工作。正确实现这一点的逻辑(即用户期望它的行为)比乍一看更复杂,我很想避免重复已经在谷歌地图中明显实现的代码。
要将地图相机位置移动到用户位置,您必须首先找到用户位置,通过使用 locationmangaer 类对象,您可以在 onLocationChange 方法中获取该位置
LocationManager locationManager = (LocationManager) getActivity().getSystemService(
Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, this);
//...
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(location.getLatitude(), location
.getLongitude())) //
.zoom(9).build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
locationManager.removeUpdates(this);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1843 次 |
| 最近记录: |