【问题标题】:Animate or Move marker along with rout path on GoogleMap动画或移动标记以及谷歌地图上的路线路径
【发布时间】:2018-04-05 08:43:51
【问题描述】:

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

我使用的方法是我第一次绘制一个黑白骑手和用户目的地,在 Ward 之后,随着骑手的纬度发生变化,我将他的纬度推到火力基地。同时,我在地图中将骑手的纬度更新到用户侧,然后进行溃败。

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

这是我如何绘制黑白骑手和用户的路径...

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 long 更新时的 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) {
        }
    });
}

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

【问题讨论】:

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


【解决方案1】:

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

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

如果您想要更轻松地实现,您可以使用可用的库来做同样的事情。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-02
    • 2016-02-26
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多