我正在使用 JellyBean 4.2 并在我的设备上进行测试。
如何在单击 myLocationButton 时获取当前位置。
getMYLocation 在使用网络提供商时返回 null。
我正在使用 LocationManager 获取当前位置并参考 Google 文档 https://developers.google.com/maps/documentation/android/start。
在单击 MyLocatiionButton 之后不会带来任何变化
我正在使用 JellyBean 4.2 并在我的设备上进行测试。
如何在单击 myLocationButton 时获取当前位置。
getMYLocation 在使用网络提供商时返回 null。
我正在使用 LocationManager 获取当前位置并参考 Google 文档 https://developers.google.com/maps/documentation/android/start。
在单击 MyLocatiionButton 之后不会带来任何变化
您需要将 LocationSource 添加到地图片段。请参阅此答案以获取离散示例。
Use this code Id it does work.
private LocationManager locationManager;
private Location location;
private boolean hasGpsProvider, hasNetwrokProvider;
public Location getLocation(Context mContext) {
if (locationManager == null) {
locationManager = (LocationManager) mContext
.getSystemService(Context.LOCATION_SERVICE);
}
hasGpsProvider = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
hasNetwrokProvider = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (hasGpsProvider) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 100, locationListenerGps);
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
return location;
}
if (hasNetwrokProvider) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 100,
locationListenerNetwork);
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
return location;
}
return location;
}
And call
if (location != null) {
lat = location.getLatitude();
lng = location.getLongitude();
}
您是否在清单中设置了所有权限?此外,您必须启用定位服务(状态栏中的 gps 图标是否显示?)。设备获取位置需要一些时间,因此请查看是否调用了 onLocationChanged。
基本上你应该做的是调用 Google Directions API 接收道路方向坐标(许多 Latlng 点),然后在每个坐标点之间绘制一条折线。
您可以使用overview_polyline 或腿和步骤。