2016-07-05 28 views
0

折线我需要添加如何创建方向箭头为我的Android

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

这个代码显示箭头是什么?

+0

这里是一个回答你的问题 - > HTTP: //stackoverflow.com/questions/15631022/is-it-possible-to-add-arrows-heads-on-poly-line-using-android-maps-v2 –

回答

1

我发现了一个解决方案,它为我工作

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

,现在在终点添加标记(箭头位图)

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