首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nativescript:可以通过类型记录访问android函数/类吗?

Nativescript:可以通过类型记录访问android函数/类吗?
EN

Stack Overflow用户
提问于 2016-11-09 11:05:09
回答 2查看 519关注 0票数 0

假设我有以下主要内容:

代码语言:javascript
复制
import { Component } from "@angular/core";

@Component({
    selector: "my-app",
    templateUrl: "./layouts/main-layout.html"
})
export class AppComponent {

    constructor(

    ){}

    ngAfterViewInit() {
        //console.log( com.google.android.gms.maps.CameraUpdateFactory );
    }

}

如何调用注释掉的函数,就在app.component.ts中?

因为它给了我"com" not found错误。

我在dependencies { compile 'com.google.android.gms:play-services-maps:9.8.0' }文件中添加了App_Resources/Android/app.gradle

我还检查了nativescript-google-maps-sdk插件是如何实现的。它似乎也是这样做的--它有自己的nativescript-google-maps-sdk/platforms/android/include.gradle文件,其中还定义了来自本地android的google服务地图,在nativescript-google-maps-sdk/map-view.android.js中,我看到它没有问题地使用这样一个命令:

var cameraUpdate = com.google.android.gms.maps.CameraUpdateFactory.newCameraPosition( cameraPosition );

任何见解都值得赞赏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-09 11:37:34

将其添加到您的文件declare var com:any;中,并读取此How can I access Native api in NativeScript when I use Typescript

票数 3
EN

Stack Overflow用户

发布于 2016-11-09 11:51:25

您需要首先了解错误发生的原因--对于任何TypeScript都缺少com定义,然后是什么。com在TypeScript或JavaScript中不是一个有效的可识别对象,因此您需要

(糟糕)指示TypeScript编译器不要抱怨缺少定义,因为您更了解com.google.android.gms.maps.CameraUpdateFactory是一个有效的对象。在noEmitOnErrors中禁用tsconfig.json

(好)提供类型(通常以.d.ts的形式出现),以“熟悉”外星类。

代码语言:javascript
复制
declare module com {
    export module google {
        export module android {
            export module gms {
                export module maps {
                    export class CameraUpdateFactory {
                        public static newCameraPosition(param0: any): any
                    }
                }
            }
        }
    }
}

let cameraUpdate: any = com.google.android.gms.maps.CameraUpdateFactory.newCameraPosition;

或者,如果您不能麻烦地描述整个命名空间,则使用let com: any。可以为android/java库自动生成类型,但是类型记录/JavaScript中有一个限制,目前无法将google库类型与android.sdk和支持库类型一起导出。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40505450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档