动画或移动标记以及谷歌地图上的路线路径

Animate or Move marker along with rout path on GoogleMap

我第一次使用 google 地图,我陷入了非常危急的境地。 实际上我想将标记与多边形线(绘制的溃败)一起制作动画,在这方面我已经尝试了很多代码但没有一种方法会被触发。

我使用的方法是我第一次绘制溃败 b/w 骑手和用户目的地,在 Ward 之后,随着骑手的经纬度发生变化,我将他的经纬度推向 firebase。同时,我正在获取地图中骑手到用户端的更新,然后是溃败。

为了您更好地理解,这是我的代码。

这是我绘制路径的方式 b/w 骑手和用户...

public void pathDraw(String startLat,String startLon,String endLat,String endLon,int orginDrawable, int desTinationDrawable){

    LatLng origin = new LatLng(Double.parseDouble(startLat), Double.parseDouble(startLon));
    LatLng destination = new LatLng(Double.parseDouble(endLat), Double.parseDouble(endLon));
    DrawRouteMaps.getInstance(this)
            .draw(origin, destination, mGoogleMap);
    DrawMarker.getInstance(this).draw(mGoogleMap, origin,orginDrawable, "Origin Location");
    DrawMarker.getInstance(this).draw(mGoogleMap, destination, desTinationDrawable, "Destination Location");
    LatLngBounds bounds = new LatLngBounds.Builder()
            .include(origin)
            .include(destination).build();
    Point displaySize = new Point();
    getWindowManager().getDefaultDisplay().getSize(displaySize);
    mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, displaySize.x, 1000, 15));
}

这是每次经纬度更新时调用的 Firebase 方法。

  public void mapChangeAnimation(final boolean user){
    mDatebaseTracking.keepSynced(true);
    DatabaseReference query = mDatebaseTracking.child(order_id);

    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            rider_lat = ""+dataSnapshot.child("rider_lat").getValue();
            rider_long = ""+dataSnapshot.child("rider_long").getValue();
            String latlong = rider_lat + " "+ rider_long;

            if(!user) {
                LatLng latLngBegin = new LatLng(Double.parseDouble(rider_lat),Double.parseDouble(rider_long));
                LatLng latLngEnd = new LatLng(Double.parseDouble(rest_lat),Double.parseDouble(rest_long));   
            }
            else {
                LatLng latLngBegin = new LatLng(Double.parseDouble(rider_lat),Double.parseDouble(rider_long));
                LatLng latLngEnd = new LatLng(Double.parseDouble(user_lat),Double.parseDouble(user_long));                  
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}

您的建议将不胜感激。另外,如果你请 post 根据我的情况提供代码。 提前致谢

要沿着从起点到终点的路线路径设置标记动画,您可以参考此代码。

https://gist.github.com/broady/6314689

如果您想要更轻松地实施,您可以使用可用的库来执行相同的操作。

  1. https://github.com/amalChandran/trail-android
  2. https://github.com/amanjeetsingh150/UberCarAnimation

这些库没有确切的实现,您可能需要稍微调整一下。