android – 使用9patch绘制GoogleMap路径

android – 使用9patch绘制GoogleMap路径,第1张

概述我正在尝试在地图上绘制一个相当风格化的路径. 现在的方法 public ArrayList<Polyline> renderNeonPolyline(Context context, ArrayList<LatLng> routeCoordinates, 我正在尝试在地图上绘制一个相当风格化的路径.

现在的方法

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路径所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存