nativescript-mapbox使用本机MapView对象

时间:2018-05-15 01:59:52

标签: nativescript mapbox angular2-nativescript nativescript-plugin

最终修改

我找到了正确的文档,可以检查MapView实例和mapboxMap以查看可用的函数。

但是,我仍然不清楚如何在JavaScript中实际使用SDK,例如使用mapboxMap.addLayer(layer: Layer)。如何制作新图层?

因此,有关如何在我的angular / nativescript应用程序中使用本机SDK的任何提示都很可爱。

原始问题

我需要在NativeScript项目中更多地控制我的Mapbox插件(我需要实现集群,自定义弹出窗口,自定义(可移动)标记等),而nativescript-mapbox并没有为此提供便利方法。 / p>

根据文档,onMapReady事件旨在返回args.ios || args.android下对本机MapView对象的引用,但是当我通过日志记录检查此对象时,它似乎只是一个字符串。 / p>

com.mapbox.mapboxsdk.maps.MapView{14ffde6 VFED..CL. ........ 0,0-1080,1584}

我已尝试引用我认为应该存在的参数(通过阅读Mapbox SDK文档)但似乎没有任何内容定义。

所以我的问题是,我如何在代码中访问本机MapView实例,以便我可以充分利用SDK来更好地控制插件?

关于如何执行简单操作的一些示例(例如创建MapMarker)将非常有用!

修改

根据评论,我使用com.mapbox.mapboxsdk.maps.MapView调查了实例console.dir(),并获得了一长串可用函数。但是,这些并不是docs over here中可用的内容。

我显然不理解某些事情,但感觉我已经接近了。任何人都可以帮我解决我在这里丢失的链接吗?

我试图回答的一些问题;为什么我发现的文档与此实例中可用的方法不同。我怎样才能做一些(看似)简单的事情,如添加或修改标记或符号图层?

修改2

我想我刚想通了,我正在检查一个MapView实例,它有一个名为mapboxMap的属性,我正在查看mapboxMap的文档,并想知道为什么它没有与MapView实例对齐。< / p>

所以只需使用console.dir(nativeMapView.mapboxMap),您就会看到它有操作地图所需的方法!

1 个答案:

答案 0 :(得分:1)

com.mapbox.mapboxsdk.maps.MapView{14ffde6 VFED..CL. ........ 0,0-1080,1584}这是一个实例,不确定日志记录为'字符串',但你可以尝试`const x = args.android//你得到的实例; console.dir(x)并查看哪些日志,您应该看到方法,成员等。

至于记录时的类型,它会给你类型,但是它在完整类的命名空间中,所以com.mapbox ... MapView是你正在记录的实例的类型。您可以对NativeScript中的其他布局/视图执行相同的操作。添加一个console.log(某物),其中某些东西是对布局或视图(按钮,标签)的参考,你会看到相同的。因此,在该实例上,您将可以访问SDK提供的任何内容。希望有所帮助。