适用于BB的Webworks 10.在特定坐标处打开BB Maps

时间:2013-10-08 11:47:03

标签: javascript blackberry-10 blackberry-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>

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

我对此问题非常困惑,我真的可以使用一些帮助。如果你们有任何想法或建议,我向他们开放:)

1 个答案:

答案 0 :(得分: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"
        }
    })
});