Yelp API密钥在Sencha Architect演示代码中不起作用

时间:2014-06-02 22:28:18

标签: extjs sencha-touch sencha-architect

我在这里使用教程:http://docs.sencha.com/architect/3/tutorials/first_mobile_application.html#The_Controller

getBusinesses: function(location, callback) {
    // Note: Obtain a Yelp API key by registering (for free)
    // with Yelp at http://www.yelp.com/developers/getting_started/api_overview
    // (in this app, we use the Review Search API v1.0)

    var store = Ext.data.StoreManager.lookup('BusinessStore'),
        yelpKey = '', // Enter your Yelp API key here
        url = 'http://api.yelp.com/business_review_search' +
        '?ywsid=' + yelpKey +
        '&term=Bars' +
        '&lat=' + location.coords.latitude +
        '&long=' + location.coords.longitude;

    store.getProxy().setUrl(url);


    store.load(function() {
        callback(store);
    });
}

我在Yelp上申请了一个API密钥并获得了以下内容:

Yelp API Keys

我不确定使用哪一个。教程代码具有一个单独密钥的占位符,如上面的代码所示

已完成的应用显示错误:未捕获的TypeError:无法读取未定义的属性“setStore”:

        me.getBusinesses(location, function (store) {

            // Bind data to the list and display it
            me.getDataList().setStore(store);

1 个答案:

答案 0 :(得分:0)

  1. 您需要API v1.0密钥。
  2. getDataList()返回undefined,因为查看不存在。您可能忘记在 ListContainer 中命名列表视图,请参阅“列表视图 - 步骤4”。此外,函数名称是从*“控制器 - 步骤7”中设置引用的任何内容派生而来的。将其datalist命名将生成函数getDatalist(),而将其命名为dataList将使其成为getDataList()。注意大写“L”。
  3. 希望这有助于其他人遇到问题。