Android MapView overlay disappearing when zooming in

前端 未结 2 1930
暖寄归人
暖寄归人 2021-01-23 08:23

I\'m working on a simple Android app for plotting routes on a map. All is going well, but I have an issue when zooming in on my Samsung Galaxy S2. It works fine on a Galaxy S3

2条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-23 08:59

    You said that code above was an equivalent (not the real code you are running) and that's clear because you are returning a Path object in a onDraw() which you couldn't.

    The "compressed form" of code you show should work as well as using the drawLine(). So the problem should come from something else (may the original code).

    Anyway, I'll give you a couple of hints:

    • When the top and bottom of object you are drawing to a canvas are both out of screen, the object is ignored and not drawn. Check if this is not whats happening with your path. See my answer in this post Android Map Overlay Disappears on Zoom
    • You don't need to rebuild the path object every time. You are probably already doing it, and that's why you made the short version above. See my answer in this post with some suggestions to improve path drawing: Overlay behavior when zooming
    • If for some reason you really want to use the slower approach of drawLine(), you can use the follwing to make the line look better:

      paint = new Paint();
      paint.setStyle(Paint.Style.STROKE);
      paint.setStrokeJoin(Paint.Join.ROUND);
      paint.setStrokeCap(Paint.Cap.ROUND);
      paint.setColor(...);
      paint.setAlpha(...);
      paint.setStrokeWidth(...);
      

    Finally, if the issue remains, update your question with more relevant code and let me know. Maybe I can help further.

    Regards.

提交回复
热议问题