nativescript-mapbox 使用原生 MapView 对象
nativescript-mapbox making use of the native MapView object
最终编辑
我找到了正确的文档,可以检查 MapView 实例和 mapboxMap 以查看可用功能。
但是我仍然不清楚如何从 JavaScript 中实际使用 SDK,例如使用 mapboxMap.addLayer(layer: Layer)
。如何制作新图层?
因此,关于如何在我的 angular/nativescript 应用程序中使用本机 SDK 的任何提示都非常有用。
原题
我需要更多地控制我的 NativeScript 项目中的 Mapbox 插件(我需要实现集群、自定义弹出窗口、自定义(可移动)标记等),而 nativescript-mapbox 没有为此提供便利的方法。
根据文档,onMapReady
事件旨在 return 对 args.ios || args.android
下的本机 MapView 对象的引用,但是当我通过日志记录检查此对象时,它似乎只是一个字符串。
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.
中可用的内容不一致
我显然不理解某些东西,但感觉我很接近。有谁能帮我解决我这里缺少的 link 吗?
我正在尝试回答的一些问题;为什么我发现的文档与此实例上可用的方法不同。我怎样才能着手做一些(看似)简单的事情,比如添加或修改标记或符号层?
编辑 2
我想我刚刚弄明白了,我正在检查一个 MapView 实例,它有一个名为 mapboxMap 的 属性,我正在查看 mapboxMap 的文档并想知道为什么它不与MapView 实例。
所以只需使用console.dir(nativeMapView.mapboxMap)
,您就会发现它具有操作地图所需的方法!
com.mapbox.mapboxsdk.maps.MapView{14ffde6 VFED..CL. ........ 0,0-1080,1584}
这是一个实例,不确定是否记录为 'string' 但您可以尝试 `const x = args.android// 您正在获取的实例; console.dir(x) 看什么日志,应该看方法,成员等
至于记录时的类型,它为您提供了类型,但它位于完整 class 的命名空间中,因此 com.mapbox...MapView 是您所在实例的类型记录。您可以对 NativeScript 中的其他 layouts/views 执行相同的操作。添加一个 console.log(something),其中 something 是对布局或视图(按钮、标签)的引用,您会看到相同的内容。因此,在该实例中,您可以访问 SDK 提供的任何内容。希望有所帮助。
最终编辑
我找到了正确的文档,可以检查 MapView 实例和 mapboxMap 以查看可用功能。
但是我仍然不清楚如何从 JavaScript 中实际使用 SDK,例如使用 mapboxMap.addLayer(layer: Layer)
。如何制作新图层?
因此,关于如何在我的 angular/nativescript 应用程序中使用本机 SDK 的任何提示都非常有用。
原题
我需要更多地控制我的 NativeScript 项目中的 Mapbox 插件(我需要实现集群、自定义弹出窗口、自定义(可移动)标记等),而 nativescript-mapbox 没有为此提供便利的方法。
根据文档,onMapReady
事件旨在 return 对 args.ios || args.android
下的本机 MapView 对象的引用,但是当我通过日志记录检查此对象时,它似乎只是一个字符串。
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.
我显然不理解某些东西,但感觉我很接近。有谁能帮我解决我这里缺少的 link 吗?
我正在尝试回答的一些问题;为什么我发现的文档与此实例上可用的方法不同。我怎样才能着手做一些(看似)简单的事情,比如添加或修改标记或符号层?
编辑 2
我想我刚刚弄明白了,我正在检查一个 MapView 实例,它有一个名为 mapboxMap 的 属性,我正在查看 mapboxMap 的文档并想知道为什么它不与MapView 实例。
所以只需使用console.dir(nativeMapView.mapboxMap)
,您就会发现它具有操作地图所需的方法!
com.mapbox.mapboxsdk.maps.MapView{14ffde6 VFED..CL. ........ 0,0-1080,1584}
这是一个实例,不确定是否记录为 'string' 但您可以尝试 `const x = args.android// 您正在获取的实例; console.dir(x) 看什么日志,应该看方法,成员等
至于记录时的类型,它为您提供了类型,但它位于完整 class 的命名空间中,因此 com.mapbox...MapView 是您所在实例的类型记录。您可以对 NativeScript 中的其他 layouts/views 执行相同的操作。添加一个 console.log(something),其中 something 是对布局或视图(按钮、标签)的引用,您会看到相同的内容。因此,在该实例中,您可以访问 SDK 提供的任何内容。希望有所帮助。