Android编程,mapview locationoverlay:如何更改默认的蓝色位置点,与另一个图像

时间:2012-04-17 22:23:18

标签: android google-maps-api-3 geolocation location-aware

我需要弄清楚如何使用图像更改默认的“我的位置”蓝点,这也将与指向行进方向的指南针一样。这可以通过设备指南针或通过检测来自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;

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

对于希望获得旋转用户位置图标的类似功能的任何其他人,请参阅帖子:

Android getbearing only returns 0.0. Trying to use to rotate current location icon

位置管理员.getbearing()派上用场了

此致

尼克