2

我需要更改用户单击 RichMapField 中的图钉时发生的情况,这些图钉恰好是 MapLocation 对象,这些 MapLocation 还可以选择处理称为“合作伙伴”类的不同数据类型,其中包含 ID、地址、标签、纬度和经度。

一切运行良好,当您将鼠标悬停在图钉上时,它仍然会给出标签等,但是当您单击图钉时,什么也不做。

这种行为是意料之中的!所以到目前为止,一切都很顺利。

我似乎无法弄清楚的是如何将单击或触摸侦听器附加到新的自定义 MapLocation 对象。

继承人的代码没有更多的阿杜:

import net.rim.device.api.lbs.maps.model.MapLocation;
import net.rim.device.api.ui.component.Dialog;

public class CustomMapLocation extends MapLocation {

    private Partner partner;

    public KRMapLocation(double lat, double lon, String label, String address) {
         setLat(lat);
         setLon(lon);
         setName(label);
         setDescription(address);
    }

    public KRMapLocation(Partner p) {
        this.partner = p;
        setLat(partner.getLatitude());
        setLon(partner.getLongitude());
        setName(partner.getName());
        setDescription(partner.getAddress());
    }

    // this does nothing...
    protected boolean trackwheelClick(int status, int time) {
        Dialog.alert("Trackwheel click");
        return true;
    }

}

这实际上是我要弄清楚的最后一件事,是 Touch 和 Trackwheel 侦听器。对任何一个或两个的帮助都会很棒......我已经运行谷歌干了,现在谷歌的东西我是某种黑莓粉丝哈哈

各位大侠,希望有人能帮帮我!

(我知道这是可能的,因为它曾经有一个打开详细信息页面的点击事件,我只是不知道该做什么,甚至不知道我应该寻找什么。)

4

1 回答 1

1

我的猜测是处理点击的不是 MapLocation。它由字段处理,该字段使用 MapLocation 数据来获取坐标、标签等。我也没有找到合适的钩子。至少能够扩展出现的默认详细信息对话框会很好。

于 2012-05-23T02:07:29.507 回答