根据路线上的方向转动(旋转)标记位置

时间:2014-06-16 09:36:55

标签: android maps driving-directions

我在google maps api v2(Android)上创建了与折线一起创建的路线。我的自定义标记沿着我通过创建线程实现的路线移动。我也得到了演习(左转,右转等)。

现在,当我的标记开始移动(汽车图标)时,我希望它转向并浏览路线。我确实设法旋转它,但我想要一个准确的解决方案来解决这个问题。现在我硬编码角度,从而旋转我的标记与" setRoation()方法"。然而旋转不是应该的,我无法获得它的动态角度。

请帮忙! 提前致谢

1 个答案:

答案 0 :(得分:3)

  

嘿,根据位置

看到以下旋转标记代码
 double oldlat = 19.180237, oldlong = 72.855415;
    double newlat = 19.180237, newlong = 72.855415;

    public void rotatemarker() {
        Location prevLoc = new Location("service Provider");
        prevLoc.setLatitude(oldlat);
        prevLoc.setLongitude(oldlong);
        Location newLoc = new Location("service Provider");
        newLoc.setLatitude(newlat);
        newLoc.setLongitude(newlong);
        bearing = prevLoc.bearingTo(newLoc);
        map.clear();
        map.addMarker(new MarkerOptions()
                .position(new LatLng(newlat, newlong))
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
                .anchor(0.5f, 0.5f)
                .rotation(bearing)
                .flat(true));


        oldlong = newlong;

    }