我想知道当GoogleMaps提供/显示代表用户当前位置的蓝点时是否可能知道。
实际上,我想显示一个进度条,直到那个蓝色提供了dot,这就是为什么我必须知道后者何时可用。
我现在正在使用LocationClient
类来调用connect()
方法之后获取用户的位置但我实际上可以'确定何时获得良好的定位(由蓝点表示)
我还想放大找到的位置,这就是我使用这个回调函数的原因,如果还没有找到修复,有时会放大错误的位置。
private LocationResult locDepart = new LocationResult() {
@Override
public void gotLocation(Location location) {
Location loc = location;
if (loc != null) {
LatLng coordonnees = new LatLng(loc.getLatitude(), loc.getLongitude());
final CameraPosition cameraPosition = new CameraPosition.Builder()
.target(coordonnees) // Sets the center of the map to Mountain View
.zoom(18) // Sets the zoom
.bearing(90) // Sets the orientation of the camera to east
.tilt(10) // Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
runOnUiThread(new Runnable () {
@Override
public void run() {
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
});
}
mHandler.sendEmptyMessage(0);
}
};
感谢您的回答。
答案 0 :(得分:0)
您可以使用自己的标记替换内置我的位置功能,因此显示进度条(或busy
),除非位置提供程序提供位置修复应该是微不足道的
答案 1 :(得分:0)
使用
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
...
});
让自己了解蓝点的位置何时发生变化。
如果在启用myLocation点之前进行设置,则应在首次出现时回叫。