Добавление изображения на карту и правильное масштабирование на карте

Что я хочу сделать... Получите доступ к картам ежевики и добавьте изображение в указанном пользователем месте, если пользователь не
укажите местоположение, затем найдите текущее местоположение клиента и добавьте изображение к этим координатам...

Если вы посмотрите на следующую ссылку, я бы хотел, чтобы вид карты был точно таким же... Как показать нашу собственную иконку в BlackBerry Map?

На данный момент я не беспокоюсь, получая координаты адреса, который предоставляет пользователь, и добавляя изображение к этим координатам, в настоящий момент, если я смогу получить функцию "найти свое местоположение", работающую правильно, с добавлением изображения в правильных координатах, я буду очень счастлив.

В настоящее время мой код делает добавление двух карт... одна карта выглядит так, как показано в следующей ссылке: Как показать нашу собственную иконку в BlackBerry Map?

Но не имеет изображения, затем, когда вы щелкнете назад, появится другая карта, которая будет уменьшена до той, на которой будут отображаться страны с всплывающей иконкой.

Мой код (главный экран)

lat = qualifiedCoordinates.getLatitude();
lng = qualifiedCoordinates.getLongitude();
latString = Double.toString(lat);
lngstring = Double.toString(lng);
String Test2=".";
String Test3="";
FinalSringLatetude =replace(latString,Test2,Test3);
FinalSringLongdetude =replace(lngstring,Test2,Test3);
intLat = Integer.valueOf(FinalSringLatetude).intValue();
iintLng = Integer.valueOf(FinalSringLongdetude).intValue();
mCoordinates = new Coordinates(doublelat, doublelon, 0);
mMapField = new CustomMapField();
mMapField.mIcon = Bitmap.getBitmapResource("coin_silver.png");
mMapField.moveTo(mCoordinates);
MapView mapView = new MapView();
mapView.setLatitude(intLat);
mapView.setLongitude(iintLng);
mapView.setZoom(10);
Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments(mapView));
add(mMapField);

(пользовательский класс 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 ответ

Решение

Следующий код сделает функциональность Zoom.

mMapField.setZoom(3); 
Другие вопросы по тегам