2017-09-24 11 views
2

Ich habe benutzerdefinierte Marker auf Android Google Map API erstellt, aber es gibt ein verschwommenes Bild, wenn es angezeigt wird. Wie bekomme ich einen besseren, atemberaubenden benutzerdefinierten Marker und habe keine Unschärfe in niedriger Auflösung (meine Markerauflösung ist 25x26 px). Ich habe kein hochauflösendes Bild wie 250x250 px verwendet, da es einen großen benutzerdefinierten Marker in der Karte zeigte.Wie man unscharfe benutzerdefinierte Markierung Android google map api

Antwort

1

Ihre Frage ist technisch ein Duplikat dieser Frage:

Different resolution support android

ich sage, technisch, weil die oben enthaltenen Informationen ausreichend sind, damit Sie Ihre eigene Frage zu beantworten, aber es ist vielleicht nicht offensichtlich, wie Stück alles zusammen. Die Antwort lautet, dass Android die folgenden aufklappbaren Ordner zur Verfügung stellt, um die verschiedenen Auflösungen abzudecken, denen Ihre App beim Ausführen auf dem tatsächlichen Gerät begegnen könnte. Android verwendet das Bild, das der Auflösung Ihrer App entspricht. Genommen von dem doppelten Link:

res/drawable  (default) 
res/drawable-ldpi/ (240x320 and nearer resolution) 
res/drawable-mdpi/ (320x480 and nearer resolution) 
res/drawable-hdpi/ (480x800, 540x960 and nearer resolution) 
res/drawable-xhdpi/ (720x1280 - Samsung S3, Micromax Canvas HD etc) 
res/drawable-xxhdpi/ (1080x1920 - Samsung S4, HTC one, Nexus 5, etc) 
res/drawable-xxxhdpi/ (1440X2560 - Nexus 6,Samsung S6edge). 

Angenommen, Sie einen benutzerdefinierten Google Maps Marker haben, deren ursprüngliches ist 100x200, das heißt 100 Pixel breit und 200 Pixel hoch. Dies würde ungefähr zu dem passen, was viele der gebündelten Markierungen aussehen. Angenommen, Sie möchten die hdpi Auflösung unterstützen. Nun, von der obigen Liste würden Sie dann eine 480x800 Auflösung erwarten. Angenommen, Sie möchten, dass die benutzerdefinierte Kartenmarkierung 10% der Breite des Bildschirms im Hochformat oder 48 Pixel breit einnimmt. Dann würden Sie eine Kopie Ihres ursprünglichen Markierungsbilds so verkleinern, dass die Breite 48 Pixel beträgt, d. H. Es wären 48 × 96 Pixel.

Platzieren Sie jetzt dieses benutzerdefinierte Bild in der Größe in den Ordner drawable/hdpi. Wenn Android auf hdpi Auflösung ausgeführt wird, wird dieses Bild beim Rendern der Markierung verwendet, und es sollte nicht verschwommen erscheinen.

Damit der Prozess klar ist, hier ist das oben wieder, aber dieses Mal mit den genauen Auflösungen, die Sie für Ihren benutzerdefinierten Google Maps-Marker verwenden können. Auch hier gehe ich davon aus, dass Ihr Original 100x200 ist.

folder    | device size | marker size 
res/drawable   | (default) | none (you don't need one here) 
res/drawable-ldpi/ | 240x320  | 24x48 
res/drawable-mdpi/ | 320x480  | 32x64 
res/drawable-hdpi/ | 480x800  | 48x96 
res/drawable-xhdpi/ | 720x1280 | 72x144 
res/drawable-xxhdpi/ | 1080x1920 | 108x216 
res/drawable-xxxhdpi/ | 1440X2560 | 144x288 

Beachten Sie, dass hier würden Sie tatsächlich für xxhdpi und xxxhdpi Ihr Bild strecken müssen. In diesem Fall möchten Sie vielleicht mit einem Bild mit noch höherer Auflösung beginnen.

+0

Vielen Dank für Ihre Unterstützung. Ich schätze es wirklich –

+0

@AmirullahAchmadNassardhi Was ich oben beschrieben habe, musste ich durch Versuch und Irrtum herausfinden ... aber es funktioniert, zumindest hat es gut in meinen eigenen Apps funktioniert. –

+0

Ich verwirrt für etwas Bro. Ich habe gesucht, wie man drawabel-ldpi usw. erstellt. Aber ich weiß nicht, wie man den drawabel-ldpi-Ordner schuf, wie Sie taten. Kannst du mir zeigen wie? –

Verwandte Themen