Возможность показать несколько мест на картах Blackberry, но положение карт является фиксированным.Я не могу увеличивать и уменьшать масштаб - PullRequest
1 голос
/ 15 декабря 2011

Привет всем, я пытался использовать Custom MapField, чтобы показать несколько мест на карте. Я могу показать места на карте. Но не могу переместить изображение, а также не могу увеличивать и уменьшать масштаб. Я пытался использовать пользовательский MapField, но он все еще не работает для меня .. Вот мой код для этого

class CustomMapField extends MapField 
{
Bitmap mIcon;
XYRect mDest;
public void moveTo(Coordinates coordinates) 
{
    super.moveTo(coordinates);
    mDest = null;
}
protected void paint(Graphics graphics) 
{
    super.paint(graphics);
    if (null != mIcon) 
    {
        if (null == mDest) 
        {
            XYPoint fieldOut = new XYPoint();
            convertWorldToField(getCoordinates(), fieldOut);
            int imgW = mIcon.getWidth();
            int imgH = mIcon.getHeight();
            mDest = new XYRect(fieldOut.x - imgW / 2,fieldOut.y - imgH, imgW, imgH);
        }
        graphics.drawBitmap(mDest, mIcon, 0, 0);
    }
}
}

1 Ответ

1 голос
/ 16 декабря 2011

для увеличения и уменьшения я использовал это-

 public boolean keyChar(char key, int status, int time) 
{    
    if(key=='i')
    {
        mMapField.setZoom(Math.max(mMapField.getZoom() - 1,mMapField.getMinZoom()));
    }
    else if(key=='o')
    {
        mMapField.setZoom(Math.min(mMapField.getZoom() + 1,mMapField.getMaxZoom()));
    }
    return super.keyChar(key, status, time);
}
...