我需要弄清楚如何使用图像更改默认的“我的位置”蓝点,这也将与指向行进方向的指南针一样。这可以通过设备指南针或通过检测来自GPS的行进方向来确定
我已经完成了一些谷歌搜索,但到目前为止只找到了改变iPhone上的点的方法的参考,我正在使用Android ......
我很感激这方面的一些支持和指导
亲切的问候
尼克
在OnCreate中: LocationManager locman =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
locman.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 2, locationListener);
//Adds a current location overlay to the map 'mapView' and turns on the map's compass
MyLocation myLocationOverlay = new MyLocation(this, mapView);
mapView.getOverlays().add(myLocationOverlay);
myLocationOverlay.enableMyLocation();
myLocationOverlay.enableCompass();
mapView.getOverlays().add(myLocationOverlay);
mapView.postInvalidate();
在OnLocationChanged:
dbllatitude = locFromGps.getLatitude();
dbllongitude = locFromGps.getLongitude();
dblaltitude = locFromGps.getAltitude();
bearing = locFromGps.getBearing();
strlatitude = Double.toString(dbllatitude);
strlongitude = Double.toString(dbllongitude);
dblaltitude = (dblaltitude / 0.3048);
LocationText.setText("Your Location: Latitude " + dbllatitude + " Longitude: " +dbllongitude + " Altitude " + dblaltitude);
boolean hasbearing = locFromGps.hasBearing();
if (hasbearing = false) {
Toast.makeText(getApplicationContext(), "No bearing", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getApplicationContext(), "I HAZ bearing: " + bearing, Toast.LENGTH_SHORT).show();
}
MyLocation.mOrientation = bearing;
答案 0 :(得分:1)
子类MyLocationOverlay
,覆盖drawMyLocation(...)
方法并使用提供的参数绘制图像。 SO和博客上有几个例子可以帮助你,例如:
答案 1 :(得分:0)
对于希望获得旋转用户位置图标的类似功能的任何其他人,请参阅帖子:
Android getbearing only returns 0.0. Trying to use to rotate current location icon
位置管理员.getbearing()派上用场了
此致
尼克