如何展现我们自己的黑莓地图图标?(How to show our own icon in Black

2019-07-21 01:52发布

我想知道如何使用自己的标志,以显示BBMap特定的地方吗? 任何人都可以知道如何做到这一点?

Answer 1:

黑莓地图

这是不可能的黑莓地图,以显示POI自定义图标。
事情你可以包括在黑莓地图位置:

  • 位置* 100,000纬度。 南为负。
  • 位置* 100,000经度。 西为负。
  • 位置旁要显示的标签。
  • 描述显示在BlackBerry智能手机用户选择时
    细节。
  • 缩放级别从0到MAX_ZOOM。
  • 地址
  • 省或州
  • 国家
  • 邮政编码
  • 电话
  • 传真
  • 网址
  • 电子邮件地址
  • 类别
  • 0和5之间等级信息

见什么是-黑莓地图位置文档格式

另请参阅如何-调用BlackBerry Maps

使用MapField可

作为替代方案,您可以尝试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);
        }
    }
}

使用示例:

class Scr extends MainScreen {
    CustomMapField mMapField;
    Coordinates mCoordinates;
    public Scr() {
        LocationProvider provider = null;
        Location location = null;
        try {
            provider = LocationProvider.getInstance(null);
        } catch (LocationException e) {
            e.printStackTrace();
        }
        try {
            location = provider.getLocation(-1);
        } catch (LocationException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        mCoordinates = location.getQualifiedCoordinates();
        add(new LabelField("Latitude: "
                + String.valueOf(Coordinates.convert(
                mCoordinates.getLatitude(),
                Coordinates.DD_MM_SS))));
        add(new LabelField("Longitude: "
                + String.valueOf(Coordinates.convert(
                mCoordinates.getLongitude(), 
                Coordinates.DD_MM_SS))));
        mMapField = new CustomMapField();
        mMapField.mIcon = Bitmap.getBitmapResource("poi_icon.png");
        mMapField.moveTo(mCoordinates);
        add(mMapField);
    }
}

也可以看看
在黑莓使用MapComponent
GPS和黑莓地图开发指南

准备GPS数据

如果它是真实的设备,确保GPS可用且已打开。
如果是模拟器,在你开始之前再使用程序模拟器菜单 - >模拟 - > GPS位置设置GPS数据。
另一种选择是硬编码你自己的坐标系下,并使用它们没有GPS:

    double latitude = 51.507778;
    double longitude = -0.128056;
    Coordinates mCoordinates = new  Coordinates(latitude, longitude, 0);


文章来源: How to show our own icon in BlackBerry Map?