0

Nokia の appId/token に何か問題があると思わせる症状が 2 つあります。1 つは、検索ボックスを使用しようとすると、JavaScript エラー「エラー 401 - api_id がありません」が表示されることです。2 つ目は、developer.here.com と My Apps にアクセスして、自分のアプリのヒット履歴を確認すると、ヒットがゼロであることがわかります。私は何を間違っていますか?

nokia.Settings.set("appId", "[My ID]");
nokia.Settings.set("authenticationToken", "[MY TOKEN]");

var my_lat = 41.88
var my_lon = -87.63

 map = new nokia.maps.map.Display(document.getElementById('mapcanvas'), {
     'components': [ 
            // Behavior collection
            new nokia.maps.map.component.Behavior(),
            new nokia.maps.map.component.ZoomBar(),
            new nokia.maps.map.component.Overview(),
            new nokia.maps.map.component.TypeSelector(),
            new nokia.maps.map.component.ScaleBar()
        ],
    'zoomLevel': 11, // Zoom level for the map


    'center': [my_lat, my_lon] // Center coordinates
});


// Initialize search box:
var searchBox = new nokia.places.widgets.SearchBox ({
    targetNode: 'searchbox',
    searchCenter: function () {
        return {
            latitude: my_lat,
            longitude: my_lon
        }
    },
    onResults: function (data) {
        renderResults (data);
    }
});

// Handle the results of the search. This callback function
// receives the raw places data as an array. For each element
// in this array, it creates an HTML list element and fills
// it with the name of the place:
function renderResults (data) {
    var previewList = document.getElementById ('results');
    previewList.innerHTML = '';

    var results = data.results.items;

    for (var i = 0, l = results.length; i < l; i++) {
        var result = results[i];
        var resultLi = document.createElement ('li');
        resultLi.innerHTML = result.title;
        previewList.appendChild (resultLi);
    }
}
4

2 に答える 2

0

あなたのコードは正しいようです - 私の仮定は、あなたが使用しているappIdtokenが有効ではないということです。

まず、これが事実であることを証明するために、Places Widget の例の背後にあるコードから始めます。コードを PC またはローカル サーバーにコピーし、ローカル コピーが機能するかどうかを確認します。検索ボックスにAirportという単語を入力すると、最初の 3 文字の後に候補が表示され、マップ上にマーカーが表示されます。検索をクリックします。

アプリ ID とトークンを空白に置き換えてみてください。

nokia.Settings.set("appId", ""); 
nokia.Settings.set("authenticationToken", "");

アプリケーションは機能しなくなります。appIdtokenを入力したときにこれが当てはまる場合は、それらを間違ってコピーしたか、間違ってアプリ名を使用した (またはバックエンドで何かが起きている) ようです。

新しいappIdトークンを作成するための最も包括的なガイドはここにあります。私はそれを最初からたどり、必要に応じて新しいものを作成します。ログインしてManage Appsをクリックすると、右側のボックスに appId と token が表示さますボックスをダブルクリックしてすべてを選択し、ボックスに収まらない可能性がある最後の文字をうっかり見逃してしまわないようにします。

実際のデモの例に戻り、デモのappIdtokenをアカウントに関連付けられたものに置き換えます。うまくいけば、それは今あなたのために働くはずです.

于 2013-06-06T18:15:30.607 に答える