java - BitmapDescriptor 得到的百度地图 Marker 显示模糊
PHP中文网
PHP中文网 2017-04-18 09:57:17
0
2
659

我在百度地图上遇到的问题和这个 SO 问题很像,但是它的回答没有解决我的问题。

我想用自己的 res/drawable 资源来作为百度地图上的 Marker。但是这样使用后发现图片(icon_marker.png)加载出来边缘很模糊,而且即使我使用更大的图片,这个 Marker 边缘仍然是模糊的(只是被放大了)。

我已经尝试了在包括 hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi 的各个文件夹中都放这个图片的各种版本,或者只在那个没有后缀的 drawable 文件夹下放一个 png,但仍然是模糊的。大图大模糊,小图小模糊。

以下是我用百度地图显示 Marker 的代码。请问我的问题出在了哪里?

BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_marker);
LatLng latLng = ...;
OverlayOptions option = new MarkerOptions()
  .position(latLng)
  .icon(bitmap);
mBaiduMap.addOverlay(option);
PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(2)
伊谢尔伦

J'ai trouvé la réponse à cette question grâce à une tentative très, très fortuite. Inspiré par ceci : l'épingle de carte personnalisée semble beaucoup trop grande et est pixellisée ?.

Le gars ci-dessous est un Top Contributeur, probablement un ingénieur Google. Sa réponse (traduite) :

Google Maps redimensionne toutes les icônes à la taille 32*32 px (parfois le double, 64px).
Vous devez donc définir votre fichier image sur 32*32 px. Si vous souhaitez une icône plus petite, vous devez conserver les pixels transparents sur les côtés.
(Si vous modifiez l'icône, il est préférable d'utiliser un nouveau nom de fichier, car l'image originale peut rester dans le cache et vous ne verrez pas le changement.)

Je l'ai essayé avec l'attitude que Baidu Map plagiait Google Map (car il s'avère que la longueur et la largeur de mes ressources d'images ne sont pas égales)...

Effectivement, après l'avoir réglée sur 32*32 px, l'icône devient extrêmement claire ! 64*64 px, 128*128 px ne posent aucun problème non plus.

大家讲道理

Je n'ai jamais étudié le SDK Android pour Baidu Maps. Après avoir lu la documentation, il existe une telle méthode

.

public static BitmapDescriptor fromBitmap(Bitmap image)

Voyez si vous pouvez créer vous-même l'objet Bitmap à partir de ressources, spécifiez la taille, chargez la grande image avec une taille plus petite et voyez s'il y aura une amélioration.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal