H J'ai écrit un code pour dessiner deux marqueurs de position personnalisés sur le MapField. Mais lorsque j'effectue un zoom avant et arrière, le repère de position est de la même taille, je veux que le marqueur de position s'ajuste en fonction du niveau de zoom. Est-ce que quelqu'un pourrait m'aider à mettre ça?Ajustez le repère de position sur Zoom avant et arrière dans Mapfield
BR, Suppi
modifier:
Jusqu'à présent, je suis en mesure de le faire,
mPointDest = new XYRect[mPoints.length];
for (int i = 0; i < mPoints.length; i++) {
XYPoint fieldOut = new XYPoint();
convertWorldToField(mPoints[i], fieldOut);
mIcon = Bitmap.getBitmapResource("location.png");
int imgW = mIcon.getWidth();
int imgH = mIcon.getHeight();
mPointDest[i] = new XYRect(fieldOut.x - imgW/2,
fieldOut.y - imgH, imgW, imgH);
graphics.drawBitmap(mPointDest[i], mIcon, 0, 0);
et zoom:
protected boolean keyChar(char character, int status, int time)
{
// 'i' will zoom in.
if (character == 'i')
{
mMapField.setZoom(Math.max(mMapField.getZoom() - 1, mMapField.getMinZoom()));
return true;
}
// 'o' will zoom out
if (character == 'o')
{
mMapField.setZoom(Math.min(mMapField.getZoom() + 1, mMapField.getMaxZoom()));
return true;
}
return super.keyChar(character, status, time);
}
Après cette me demande comment va ajuster le bitmap en fonction du niveau de zoom. Quelqu'un peut-il s'il vous plaît me donner une idée?
J'ai mis à jour mon message. – Suppi
okay, donc vous voulez que votre "location.png" graphique pour zoomer (devenir plus grand/plus petit) basé sur le niveau de zoom de la carte? –
ouais exactement, j'ai aussi dessiné un cercle sur le mapfield, j'ai besoin d'ajuster le cercle en fonction du niveau de zoom. – Suppi