-1

私がしたいこと... ユーザーが場所を指定していない場合は、blackberry マップにアクセスし、ユーザーが
指定した場所に画像を追加してから、顧客の現在の場所を見つけて、それらの座標に画像を追加します...

次のリンクをご覧になると、マップビューをまったく同じにしたいと思います... BlackBerry Map で独自のアイコンを表示するにはどうすればよいですか?

今のところ、ユーザーが提供する住所の座標を取得し、それらの座標に画像を追加する心配はありません。現時点では、「自分の場所を見つける」機能を取得して、正しい座標に画像を追加して正しく機能するかどうかを心配する必要はありません。とても幸せです。

私のコードが現在行っていることは、2 つのマップを追加することです... 1 つのマップは、次のリンクのマップのように見えます: 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);
    }
}

君たちありがとう!!

4

1 に答える 1

1

次のコードはズーム機能を実行します。

mMapField.setZoom(3); 
于 2012-10-03T05:21:03.860 に答える