Vector map does not display correctly on Locus for Android Wear

virtualdj shared this problem 3 months ago
Known

I tried the map view feature of the new Android Wear Locus app with my Ticwatch S, but it seems that the map is not rendered correctly especially when zooming in/out.

Please look at the screenshot below.

5028ab0557cd68b32c260510c9dcfc1d

The texts are too big and also there are missing tiles I think (those "hatched gray X" in the background), for example on the left of the current point.

I'm using an offline vector map (from OpenAndroMaps).

Comments (10)

photo
1

Good day,

very nice indeed :). Never saw such rendering troubles. On device itself, maps look correctly without these weird semitransparent ( parts with grey grid) parts? Are you using this vector map as an overlay? I believe that it has nothing to do with OpenAndroMaps, same result will be probably with our own LoMaps. Also, when after few seconds, map is refreshed, result is still same or it's after a while ok? Thanks for answers.

photo
1

> On device itself, maps look correctly without these weird semitransparent ( parts with grey grid) parts?

If you mean on the smartphone, then yes they look perfectly.

> Are you using this vector map as an overlay?

No, it's a normal vector offline map from OpenAndroMaps.

> Also, when after few seconds, map is refreshed, result is still same or it's after a while ok?

Yes, it is (was) still the same, even after zooming in/out. But I just tried now and the same map (of course in a different location because I'm at home now) displays correctly. The fonts are still too big IMHO, especially when zooming out, but at least the map tiles are OK.

I'll keep you posted the next time I'll do hiking.

photo
1

I've tried hiking today - a short trip though - and the map tiles displayed correctly, see below.


270c07535c89a724e46c65516faffc0f


However, as you can see, the location names (and also symbols) are too big and cover a big portion of the map. I noticed than after I tap "+" or "-" buttons to change the map zoom initially the fonts and symbols are rendered correctly (with "correctly" I mean with a proper size) and after half a second they become big and stay big.


Is this behaviour working as intended? Because the map would be far better with symbols and names half-sized.

photo
1

I'm glad that first problem does not appear, it looked as a really big problem, fine.

"Issue with fonts & symbols" ... as I think about it, we may have an another serious problem. As I see in specs ( https://eu.mobvoi.com/pages/ticwatchse ), your watches has 400x400 px resolution and certain density value ( pixels per inch ). Anyway maps are rendered on device and even that watches probably request for drawing image 800x800px big, it is still used density of your device! What device are you using? Probably some small with lower resolution?

photo
1

I'm using a TicWatch S with Android 7.1.1 and the specs you've linked are correct. About the resolution and density, I've connected with adb and these are the results which I hope will be useful for you:


C:\>adb -e shell wm density
Physical density: 280

C:\>adb -e shell wm size
Physical size: 400x400
The display is round, of course. Let me know if you need anything else.

photo
2

Hello,

thanks for additional information. I was talking about "device DPI" anyway no problem, we were able to simulate this problem.

Currently new version of add-on is in progress with better work with a map. Unfortunately this (size of map fonts) will be more complicated, and currently unsolvable problem, sorry. It is result of high density device screen (+ probably rescaled font size in menu > settings > maps > offline maps > text size? ).

We will keep this problem in mind and inform here if anything change. Thanks for understanding.

photo
1

Hi, thanks for your answers.


> I was talking about "device DPI" anyway no problem

I thought that running adb on the watch actually returned the watch DPI, sorry... Where do I find the "device DPI", then? Or are you referring to the smartphone DPI?


> It is result of high density device screen (+ probably rescaled font size in menu > settings > maps > offline maps > text size? )

My setting of the text size is 100% (the default). And on the smartphone the text display is correct IMHO, the problem concerns the smartwatch. But maybe you mean that you generate the map view on the watch basing on the settings on the smartphone, so while it's correct on the smartphone it is not on the watch?

As I said, just after zooming in/out the map on the watch the fonts appear correctly, but after a couple of seconds they become bigger (too big IMHO).

I will try to capture a video to show you.

photo
2

Hello,

yes, this is the point. Map for watches is generated on device ... based on device parameters. So in case of huge DPI on device (like S7, S8 devices), fonts may appear really big on watches with a lot smaller DPI. And this is technically a problem, because I cannot change for a while DPI on device without some other issues that appear.

Video is not necessary. Right after zoom, old loaded map is used and just rescaled till new map from device is delivered. Because of this, texts is smaller/bigger for this moment.

photo
1

> So in case of huge DPI on device (like S7, S8 devices), fonts may appear really big on watches with a lot smaller DPI.

It's a Note 4, so yes, the DPI is quite big:

C:\>adb shell wm density
Physical density: 640

C:\>adb shell wm size
Physical size: 1440x2560
A question: can't you just make another setting for text size (e.g. offline maps > watch text size) so you don't have to detect the DPI of the watch, and then let the phone generate a new version/view of the map just for the watch using the Locus service?

photo
2

It's unfortunately not so simple. I do not know if you know something about programming, anyway library used for rendering of vector maps use system called "singleton". This mean, only one instance of system that draw map exists at once. When I change something, it affect also map tiles draw in same time for main map on screen. Not a problem if device screen is turned off, but I cannot risk it.

Anyway you had generally a good idea so I made a small improvement in Locus (we will test it in Monday with my colleague Milan, who take care about "Wear add-on"), thanks.

photo