-1

我想要做什么...如果用户未
指定位置,则访问黑莓地图并在用户指定的位置添加图像,然后找到客户的当前位置并将图像添加到这些坐标...

如果您查看以下链接,我希望地图视图完全相同... 如何在 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);
    }
}

谢谢你们!!

4

1 回答 1

1

以下代码将执行缩放功能。

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