现在的方法
public ArrayList<polyline> renderNeonpolyline(Context context,ArrayList<LatLng> routeCoordinates,GoogleMap GoogleMap) { ArrayList<polyline> polylines = new ArrayList<>(); for (int i = 0; i < 6; i++) { polylineoptions polylineoptions = new polylineoptions(); polylineoptions.wIDth(48 - (i * 8)); if (i == 0) { polylineoptions.color(ContextCompat.getcolor(context,R.color.apple_25)); } else if (i == 1) { polylineoptions.color(ContextCompat.getcolor(context,R.color.apple_50)); } else if (i == 2) { polylineoptions.color(ContextCompat.getcolor(context,R.color.apple_75)); } else if (i == 3) { polylineoptions.color(ContextCompat.getcolor(context,R.color.apple)); } else if (i == 4) { polylineoptions.color(ContextCompat.getcolor(context,R.color.white_75)); } else if (i == 5) { polylineoptions.color(ContextCompat.getcolor(context,R.color.white)); } polylineoptions.addAll(routeCoordinates); polyline polyline = GoogleMap.addpolyline(polylineoptions); polylines.add(polyline); } return polylines;}
所以这是有效的.它绘制了一条很好的线条,具有霓虹灯效果……大多数时候.出于某种原因,某些情况下只会渲染第一个apple_25行. (我认为这与我们试图同时缩放和平移地图这一事实有关,但没有调查过它)而且,两端看起来非常粗糙.
我真正希望做的是用9patch图像绘制一条线.
有任何想法吗?
谢谢
解决方法 这可能无法完全解决您的问题,但我认为这是一个很好的工作方式.您可以使用richmaps(我是项目的所有者)在地图上使用基于位图的笔划着色器绘制折线:
Richpolylineoptions polylineOpts = new Richpolylineoptions(null) .zIndex(3) .strokeWIDth(35) .add(new RichPoint(new LatLng(40.22987,-3.95931))) .add(new RichPoint(new LatLng(40.23109,-3.95926))) .add(new RichPoint(new LatLng(40.23063,-3.95837))) .add(new RichPoint(new LatLng(40.23169,-3.95809))) .add(new RichPoint(new LatLng(40.23093,-3.95705))) .add(new RichPoint(new LatLng(40.23023,-3.95626))) .strokeShader(new BitmapShader( BitmapFactory.decodeResource(getResources(),R.drawable.yourdrawable),Shader.TileMode.REPEAT,Shader.TileMode.REPEAT)); // Using a Bitmap as the stroke shaderRichpolyline polyline = polylineOpts.build();polyline.add(new RichPoint(new LatLng(40.23163,-3.95602)).color(color.CYAN)); // RichPoint added after the creation of the RichpolylinerichLayer.addShape(polyline);mMap.moveCamera(CameraUpdateFactory.newCameraposition(new Cameraposition(new LatLng(40.23063,-3.95837),18,0)));
结果如下:
总结以上是内存溢出为你收集整理的android – 使用9patch绘制GoogleMap路径全部内容,希望文章能够帮你解决android – 使用9patch绘制GoogleMap路径所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)