2017-09-24 3 views
2

J'ai créé un marqueur personnalisé sur Android Google map api mais il donne une image floue quand il s'affiche. Comment puis-je obtenir un meilleur marqueur personnalisé et ne pas donner de flou en basse résolution (ma résolution de marqueur est de 25x26 px). Je n'ai pas utilisé l'image de haute résolution comme 250x250 px car elle montrait un grand marqueur personnalisé dans la carte.Comment corriger le marqueur personnalisé floue Android google map api

Répondre

1

Votre question est techniquement un double de cette question:

Different resolution support android

Je dis techniquement parce que l'information contenue ci-dessus est suffisante pour que vous puissiez répondre à votre question, mais il est peut-être pas évident de savoir comment reconstituer tout ensemble. Le brin des réponses est que Android fournit les dossiers dessinables suivants pour couvrir les différentes résolutions que votre application pourrait rencontrer lors de l'exécution sur le périphérique réel. Android utilisera l'image qui correspond à la résolution de votre application en cours d'exécution. Tiré du lien double:

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). 

Supposons que vous ayez une coutume marqueur Google Maps dont l'original est 100x200, à savoir 100 pixels de large et 200 pixels de haut. Cela correspondrait à peu près à ce que beaucoup de marqueurs groupés ressemblent. Supposons maintenant que vous souhaitiez prendre en charge la résolution hdpi. Eh bien, à partir de la liste ci-dessus, vous attendez une résolution 480x800. Disons également que vous voulez que le marqueur de carte personnalisé occupe 10% de la largeur de l'écran en mode portrait ou 48 pixels de large. Ensuite, vous feriez redimensionner une copie de l'image de votre marqueur d'origine de telle sorte que la largeur soit de 48 pixels, c'est-à-dire qu'elle soit de 48x96 pixels.

Maintenant, placez cette image redimensionnée personnalisée dans le dossier drawable/hdpi. Lorsque Android fonctionne sur la résolution hdpi, il utilisera cette image lors du rendu du marqueur, et il ne devrait pas apparaître flou.

Pour que le processus soit clair, voici de nouveau ce qui précède, mais cette fois avec les résolutions exactes que vous pouvez utiliser pour votre marqueur Google Maps personnalisé. Encore une fois, je suppose que votre original est 100x200.

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 

Notez que là, vous auriez fait d'étirer l'image pour xxhdpi et xxxhdpi. Dans ce cas, vous pouvez commencer avec une image à résolution plus élevée.

+0

Merci pour votre soutien. Je l'apprécie vraiment –

+0

@AmirullahAchmadNassardhi Ce que je décris ci-dessus, j'ai dû comprendre par essais et erreurs ... mais cela fonctionne, au moins, il a bien fonctionné dans mes propres applications. –

+0

Je suis confus pour quelque chose de frère. J'ai cherché comment créer drawabel-ldpi etc. Mais je ne sais pas comment créer le dossier drawabel-ldpi comme vous l'avez fait. Pouvez-vous me montrer comment? –