我已经使用 Google Cloud Endpoints 为我的后端开发了一个原型。一旦在 Sencha Touch 上开发,我现在正在努力寻找一种方法来创建我的客户端。
我对 Sencha 没有深入的了解,但是在这方面工作的团队表示不可能拥有本机代码。因此,我们的客户端必须使用 JavaScript 开发。
例如,js 客户端在 appengine 应用程序中完美运行,但我在 Sencha 方面没有进展。
有人知道我该如何处理吗?有什么建议或更好的方法吗?
提前致谢!
我已经使用 Google Cloud Endpoints 为我的后端开发了一个原型。一旦在 Sencha Touch 上开发,我现在正在努力寻找一种方法来创建我的客户端。
我对 Sencha 没有深入的了解,但是在这方面工作的团队表示不可能拥有本机代码。因此,我们的客户端必须使用 JavaScript 开发。
例如,js 客户端在 appengine 应用程序中完美运行,但我在 Sencha 方面没有进展。
有人知道我该如何处理吗?有什么建议或更好的方法吗?
提前致谢!
我假设您正在使用此处描述的回调方法 https://developers.google.com/appengine/docs/java/endpoints/consume_js
<script src="https://apis.google.com/js/client.js?onload=init">
</script>
只需在 Sencha Touch 项目中包含您用于后端的 google api js。
这里有一个推荐的使用外部js的方法: What is the proper way to load an external javascript in Sencha Touch 2
如果您无法让 init 函数工作,或者事实证明您需要立即加载它,我想您可以将它放在 index.html 中,但由于加载时间原因,警告不要这样做。
这是我所做的:
将所需的 JS 文件(正如 user1258245 指出的那样,关键是包含 JS 文件(在我的情况下为 Client JS 和 Base JS))到项目文件夹
将它们链接到我的 index.html
添加了一种方法来初始化我对 OnLaunch() 函数的 API 调用。因此,它在应用程序加载/启动时被初始化。
只是为了确保收到响应,我创建了一个带有显示响应方法的按钮。在方法内部,我必须调用带有参数的“执行”方法来从后端获取响应。
如果我理解正确,您的问题是“如何将 google MAPS API 与 Sencha 应用程序一起使用”。目前您的应用程序无法识别 google apps API。
我在应用程序文件中进行了以下更改。
索引.html
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
应用程序.js
// 如下设置命名空间,并在 touch/src/lib/plugin 下添加 google 库
Ext.Loader.setPath({
'Ext' : 'touch/src',
'WU' : 'app',
'Ext.plugin': 'lib/plugin'
});
// 在 requires 配置中添加所需的类
需要:['Ext.MessageBox','Ext.plugin.google.Traffic','Ext.plugin.google.Tracker'],
启动:函数(){
//Tracking Marker Image
var image = new google.maps.MarkerImage(
'resources/images/point.png',
new google.maps.Size(32, 31),
new google.maps.Point(0, 0),
new google.maps.Point(16, 31)
);
var shadow = new google.maps.MarkerImage(
'resources/images/shadow.png',
new google.maps.Size(64, 52),
new google.maps.Point(0, 0),
new google.maps.Point(-5, 42)
);
希望能帮助到你。