Android 无法基于当前位置在Google Map v2上绘制

Android 无法基于当前位置在Google Map v2上绘制,android,api,google-maps,maps,Android,Api,Google Maps,Maps,我需要在地图上画一条路。为了做到这一点,我考虑使用多段线,因为新的谷歌地图。我的问题是我的应用程序可以工作,但它不能在地图上画出任何东西。我希望每次我改变位置时都能画出来,基本上是画出我的路径 public class MapActivity extends FragmentActivity implements LocationListener { GoogleMap myMap; Location lastLocati

我需要在地图上画一条路。为了做到这一点,我考虑使用多段线,因为新的谷歌地图。我的问题是我的应用程序可以工作,但它不能在地图上画出任何东西。我希望每次我改变位置时都能画出来,基本上是画出我的路径

public class MapActivity extends FragmentActivity implements LocationListener {
    GoogleMap               myMap;
    Location                lastLocation;
    private LocationManager locManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_layout);
        myMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
        myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);


        locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        boolean networkEnabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
        if (!networkEnabled) {
            Toast.makeText(this, "network not enabled", 0);
        }

    }

    @Override
    protected void onResume() {
        super.onResume();
        locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);

    }


    @Override
    public void onLocationChanged(Location location) {
        if (location != null) {
            lastLocation=locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            Polyline line=myMap.addPolyline(new PolylineOptions().add(new LatLng(location.getLatitude(),location.getLongitude())).color(Color.RED));

        }
    }

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

线至少需要两个点。您正试图仅使用一个点绘制一条线。这将画一条无限小的线,你很难看到,因为它是无限小的


如果要画一条线,请使用两个或多个点。如果你想在一个点上画东西,请使用标记,而不是多段线。

我想根据我的上一个位置和新位置画一条线。如果我的位置改变,getlastKnownLocation和当前位置是相同的?@user1949486:“我想根据我的上一个位置和新位置画一条线”——这很好,但是您会注意到,在定义
PolylineOptions
时,
add()
调用有一个
LatLng
参数。需要两个或多个
LatLng
参数才能成为一条线。谢谢,我的问题是我自己的疏忽!再加上一点就解决了问题。而且,得到我的职位很容易。我也面临着同样的问题,如果你解决了这个问题,请给我一些建议。谢谢。