0

我希望那里有一个天才的 webworks 开发人员可以帮助我。我正在为 BB10 开发一个 webworks 应用程序,并且在某个时候,我想在给定坐标处打开黑莓地图。

我从网上得到了一个例子,并设法进入 bb 地图,传递它的坐标并让导航工作。这更复杂,但在这方面找到像样的文档是一场噩梦......:O。我的导航/方向功能看起来像这样......

function directions() {
blackberry.invoke.invoke({
    action: "bb.action.OPEN",
    type: "application/vnd.rim.map.action-v1",
    data: JSON.stringify({
        "view_mode": "nav",
        "center": { "latitude": sessionStorage.lat, "longitude": sessionStorage.lon, "heading": 180, "zoom": 4 }, "nav_start": {
            "properties": {
                "name": "My Location",
                "description": "My Location",
                "address": "South Africa"
            },
            "latitude": sessionStorage.lat,
            "longitude": sessionStorage.lon
        },
        "nav_end": {
            "properties": {
                "name": stores[selectedStore].Name,
                "description": "No description Available",
                "address": "South Africa"
            },
            "latitude": stores[selectedStore].Latitude,
            "longitude": stores[selectedStore].Longitude
        },
        "nav_options": {
            "nav_mode": "fastest",
            "avoid_highways": false,
            "avoid_tolls": false,
            "transport_mode": "car"
        }
    })
});

}

这很好用......现在我在网上搜索并在设定的操作坐标上打开地图,我看到了这个......

 function showmap() {

var args = new blackberry.invoke.MapsArguments(sessionStorage.lat, sessionStorage.lon);
blackberry.invoke.invoke(blackberry.invoke.APP_MAPS, args);

}

现在根据他们的说法,您还需要将以下内容添加到小部件标签内的配置文件中。

<feature id="blackberry.invoke" />
<feature id="blackberry.invoke.MapsArguments" />
<license href="http://www.apache.org/licenses/LICENSE-2.0"></license>

这导致我的应用程序崩溃......只是一个简单的崩溃和失败......

我很纠结这个问题,我真的可以使用一些帮助。如果你们有任何想法或建议,我愿意接受他们:)

4

1 回答 1

1

我刚刚对此进行了测试,我相信问题出在 config.xml 中的“blackberry.invoke.mapargs ....”。那绝对不应该在那里。只需 blackberry.invoke 即可。

然后我运行以下代码没有问题

    blackberry.invoke.invoke({
    action: "bb.action.OPEN",
    type: "application/vnd.rim.map.action-v1",
    data: JSON.stringify({
        "view_mode": "nav",
        "center": {
            "latitude": 43.46426,
            "longitude": -80.52041,
            "heading": 180,
            "zoom": 4
        },
        "nav_start": {
            "properties": {
                "name": "Display Name",
                "description": "Description",
                "address": "Waterloo, Ontario"
            },
            "latitude": 43.46426,
            "longitude": -80.52041
        },
        "nav_end": {
            "properties": {
                "name": "Display Name",
                "description": "Description",
                "address": "Ottawa, Ontario"
            },
            "latitude": 45.000,
            "longitude": -75.0000
        },
        "nav_options": {
            "nav_mode": "fastest",
            "avoid_highways": false,
            "avoid_tolls": false,
            "transport_mode": "car"
        }
    })
});
于 2013-10-10T13:12:46.507 回答