动画或移动标记以及GoogleMap上的路径路径

时间:2018-04-05 08:43:52

标签: android google-maps firebase firebase-realtime-database tracking

我第一次使用谷歌地图时,我陷入了非常危急的境地。 实际上我想要与多边形线(绘制路线)一起制作动画标记,在这方面,我已经尝试了许多代码,但不是单一的方法将会触发。

我正在使用的方法是我第一次画出一个溃败的车手和用户目的地,在Ward之后作为骑手的长途车手的变化我将他的长途推到了火场。与此同时,我在地图中获取了骑手的更新lat到用户侧,然后溃败了。

enter image description here

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

以下是我如何绘制路径b / w rider和用户......

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));
}

每次lat lat update时,这里都是Firebase方法cal。

  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) {
        }
    });
}

您的建议将不胜感激。如果你请根据我的情况发布代码。 提前致谢

1 个答案:

答案 0 :(得分:0)

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

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

如果您希望更容易实现,可以使用可用的库来执行相同的操作。

  1. https://github.com/amalChandran/trail-android
  2. https://github.com/amanjeetsingh150/UberCarAnimation
  3. 库没有确切的实现,你可能需要调整一下。