在GoogleMap中添加折线(android)

时间:2015-04-23 17:29:29

标签: android

我正在使用导航抽屉活动。 在MainActivity中,我有一个名为“options”的PolylineOptions对象,在“OnCreate()”中实现。在MainActivity中,我还有一个位置监听器,我有:

options.add(new LatLng(cell.getLatitude(), cell.getLongitude()));

cell是一个自定义对象。这些方法经过测试,工作正常。 我有一个片段:

rootView = inflater.inflate(R.layout.activity_mapa, container, false);
mMap = ((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map)).getMap();

main.options.color(Color.RED);
main.options.width(5);
main.options.visible(true);
mMap.addPolyline(main.options);
mMap.setMapType(mapType);
Log.i("MapType", ""+mMap.getMapType());
mMap.setMyLocationEnabled(true);
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 17);
mMap.animateCamera(cameraUpdate);
mMap.getUiSettings().setCompassEnabled(true);
mMap.getUiSettings().setAllGesturesEnabled(true);
Location myLocation = mMap.getMyLocation();
mMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
    @Override
    public void onMyLocationChange(Location location) {
        Log.i("Chamada: ", "Localização do Google map alterada");
        CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(),
        location.getLongitude()), 17);
        mMap.animateCamera(cameraUpdate);
    }
});

其中“main”是MainActivity的一个实例。

运行应用时,折线不显示。我该如何解决?

1 个答案:

答案 0 :(得分:0)

您只在optins对象中设置了一个LatLng值。这意味着将是added a vertex to the end of the polyline being built.

尝试通知第二个位置并在两点之间创建一条线:

options.add(new LatLng(cell.getLatitude(), cell.getLongitude()), new LatLng(lat, lng));