在我的应用程序中设置行车路径然后启动GPS轨道。移动的位置颜色为红色。我正在使用谷歌地图方向api。设置方向路径工作正常。但gps跟踪不起作用。
如何启用gps和gps跟踪路径颜色?
这是我的代码:
public class MainActivity extends MapActivity implements LocationListener {
private static final String Location = null;
public MapView mapView ;
public List<GeoPoint> geoPointsArray = new ArrayList<GeoPoint>();
private LocationManager lm;
private LogOverlay logOverlay;
private GpsLog log;
double lat;
double lon;
public GeoPoint srcGeoPoint,destGeoPoint,interGeoPoint;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("*************1**************1");
setContentView(R.layout.activity_main);
System.out.println("*************2**************");
mapView = (MapView) findViewById(R.id.mapv);
mapView.setBuiltInZoomControls(true);
System.out.println("*************3**************");
lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 10,this);
double src_lat = 12.98472; // the testing source
double src_long = 80.17778;
double dest_lat = 13.00833; // the testing destination
double dest_long =80.2125;
double via_lat = 13.065; // the testing destination
double via_long = 80.2325;
srcGeoPoint = new GeoPoint((int) (src_lat * 1E6),
(int) (src_long * 1E6));
destGeoPoint = new GeoPoint((int) (dest_lat * 1E6),
(int) (dest_long * 1E6));
interGeoPoint = new GeoPoint((int) ( via_lat * 1E6),
(int) (via_long * 1E6));
mapView.getController().animateTo(srcGeoPoint);
mapView.getController().setZoom(15);
new LongOperation().execute("");
initMyLocation();
final MyLocationOverlay overlay = new MyLocationOverlay(this, mapView);
overlay.enableMyLocation();
overlay.enableCompass();
mapView.invalidate();
System.out.println("*************4**************");
}
private void initMyLocation() {
System.out.println("init my location *************");
// does not work in emulator
}
答案 0 :(得分:2)
嗨添加检查此缺失的代码段
// Adding current location on map view
private void addMyLocationOverlay() {
myLocation = new MyLocationOverlay(this, mapView);
mapView.getOverlays().add(myLocation);
myLocation.enableMyLocation();
myLocation.runOnFirstFix(new Runnable() {
@Override
public void run() {
mapController.animateTo(myLocation.getMyLocation());
}
});
}
此代码将在mapview上显示当前位置动画蓝白色闪烁点
无需使用位置管理器&amp;致电requestLocationUpdates