I have a simple screen that displays a MapField.
I have added a zoom in/out feature. It works great on all (real) devices I have tested with OS 4.5 and 4.6.
But the method navigationMovement() is not called on the 9100. Tested with a real 9100 and with the simulator. It works as expected on the 9700 simulator
this is the code:
class MapScreen extends ScreenBase
{
private MapField _MapField;
MapScreen()
{
super("Map Screen");
this._MapField = new MapField();
this.add(this._MapField);
this._MapField.moveTo(... Some Coordinates);
}
protected boolean navigationMovement(int dx, int dy, int status, int time)
{
int min, max, zoom;
if(dy == 0) { return false; }
zoom = this._MapField.getZoom();
if(dy > 0)
{
zoom++;
}
else
{
zoom--;
}
min = this._MapField.getMinZoom();
max = this._MapField.getMaxZoom();
if(zoom < min)
{
zoom = min;
}
if(zoom > max)
{
zoom = max;
}
this._MapField.setZoom(zoom);
return true;
}
}
Any Idea why?