1

我是 sencha touch 的新手,但我遇到的错误似乎与 google maps api 有关。我正在调用 google maps api 以搜索 sencha touch 中的特定位置。但我得到以下错误

在此处输入图像描述

这是我在 store/Places.js 文件中的代码

Ext.define('TestIOS.store.Places', {
extend: 'Ext.data.Store',
config: {
    model: 'TestIOS.model.Place',
    autoLoad: true,

    proxy: {
        type: 'ajax',
        url: 'https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AIzaSyCFWZSKDslql5GZR0OJlVcgoQJP1UKgZ5U',
        reader: {
            type: 'json',
            rootProperty: 'results'
        }
    }
}
});

我该如何解决这个错误?

4

1 回答 1

1

这是由于同源策略 ,所以要从其他服务器获取数据,我们必须使用JSONP 但似乎最新版本的Google Maps API (v3) 不支持 jsonp。因此,如果要进行地理编码,则需要使用 maps api:

包括

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

在 index.html 添加 sencha microloader 之前

<script id="microloader" type="text/javascript" src="sdk/microloader/development.js"></script>

要获取任何地址,请使用 google geocoder EX:

    var geocoder = new google.maps.Geocoder();
    geocoder.geocode( {'address': name of location },
        function(results, status) { console.log(results[0].geometry.location); });
于 2012-12-19T15:02:01.063 回答