根据路线上的方向转动(旋转)标记位置
Posted
技术标签:
【中文标题】根据路线上的方向转动(旋转)标记位置【英文标题】:Turn (rotate)marker position based on direction over the route 【发布时间】:2014-06-16 09:36:55 【问题描述】:我在 google maps api v2 (android) 上创建了一条路线以及一条折线。我的自定义标记沿着我通过创建线程实现的路线移动。我也得到了机动(左转,右转等)。
现在,随着我的标记开始移动(汽车图标),我希望它转动并在路线中导航。我确实设法旋转了它,但是我想要一个准确的解决方案来解决这个查询。现在我对角度进行了硬编码,因此我的标记与“setRoation() 方法”一起旋转。但是旋转不是应有的,我无法获得它的动态角度。
请帮忙! 提前致谢
【问题讨论】:
你有什么解决办法吗?你能和我分享一个代码吗? 【参考方案1】:请参阅以下代码以根据位置旋转标记
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;
【讨论】:
我正在做一个类似的项目。为什么 oldlong 被分配 newlong? 你在哪里调用了这个方法? @Ashish Patil 我使用了你提供的代码,但每次我得到轴承值=0.0。你能帮忙吗? @N.Droid 调用位置更新以上是关于根据路线上的方向转动(旋转)标记位置的主要内容,如果未能解决你的问题,请参考以下文章