How to create direction arrows for my polylines in android

前端 未结 3 1653
萌比男神i
萌比男神i 2020-12-06 21:21

what i need to add for

PolylineOptions polyline = new PolylineOptions();
polyline.addAll(geom);
polyline.color(defaultStrokeColor).width(defaultWidth);
mapO         


        
3条回答
  •  既然无缘
    2020-12-06 22:01

    i found a solution , it is working for me

    PolylineOptions polyline = new PolylineOptions();
    polyline.addAll(geom);
    polyline.color(defaultStrokeColor).width(defaultWidth);
    mapObjects.add(polyline);
    double lat1 = geom.get(0).latitude;
                        double lng1 = geom.get(0).longitude;
    
                        // destination
                        double lat2 = geom.get(1).latitude;
                        double lng2 = geom.get(1).longitude;
    
                        //midpoint 
                        double lat = (lat1 + lat2)/2;
                        double lng = (lng1 + lng2)/2;
    
                        double dLon = (lng2-lng1);
                        double y = Math.sin(dLon) * Math.cos(lat2);
                        double x = Math.cos(lat1)*Math.sin(lat2) - Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon);
                        double brng = Math.toDegrees((Math.atan2(y, x)));
    

    and now add a marker(arrowhead bitmap) at end point

    MarkerOptions marker = new MarkerOptions().position(geom.get(0));
                        marker.anchor(0.5f, 0.5f);
                        marker.icon(BitmapDescriptorFactory.fromBitmap(bstyle));
                        marker.rotation((float) brng);
                        marker.flat(true);
    

提交回复
热议问题