2014-06-16 50 views
8

我已经创建了一条路线,并在google maps api v2(Android)上创建了一条多段线。我的自定义标记沿着我通过创建线程实现的路线移动。我也得到了演习(左转,右转等)。根据路线上的方向转动(旋转)标记位置

现在随着我的标记开始移动(一个汽车图标),我希望它转动并在路线中导航。我确实设法旋转它,但是我想为这个查询提供一个精确的解决方案。现在我硬编码的角度,从而旋转我的标记以及“setRoation()方法”。然而,旋转不是它应该的,我不能得到它的动态角度。

请帮忙! 在此先感谢

+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; 

    } 
+0

我正在研究类似的项目。为什么oldlong被分配新的? –

+1

你在哪里调用这个方法? –