0

我们很难迈出在 NativeScript 中使用本机库的第一步。

这是一个地图库,所以我认为它与注册新的自定义 UI 有关,但让我感到奇怪的是奇怪的 xml 语法。

以下屏幕截图来自此页面:https ://developers.arcgis.com/android/latest/guide/develop-your-first-map-app.htm

本机指令适用于 Android Studio:

在此处输入图像描述

依赖项(Gradle):

在此处输入图像描述

它还对 Java 8 特性有一个奇怪的依赖:

在此处输入图像描述

最后,基本用法,似乎需要大量特定于平台的本机事件:

在此处输入图像描述 在此处输入图像描述

目前我们只对 Android Proof of Concept 感兴趣,但最终会制作并发布一个多平台插件。

我知道有很多说明和事情只针对一个问题,但这是我们的主要困惑:

1)如何将自定义元素添加到 NativeScript xml?我们是否只是设置了 gradle 导入并直接添加以下元素?另外我假设这android:id是不必要的,我们可以使用id

<com.esri.arcgisruntime.mapping.view.MapView
  android:id="@+id/mapView"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
</com.esri.arcgisruntime.mapping.view.MapView>

2)如何通过 Javascript 通过其 ID 访问上述元素?更具体地说,如何使用 VUE 获得它?本机示例:

import com.esri.arcgisruntime.mapping.view.MapView;
MapView = findViewById(R.id.mapView);
ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16); 
mMapView.setMap(map);

3)我们还需要考虑其他步骤吗?特别考虑到我们打算最终把它变成一个完整的插件。还是这比我做的更直接/简单?

4

1 回答 1

2

忽略 SDK 文档中的 XML 示例,它特定于 Android 的 XML 标记。

您必须在回调返回实例中创建一个新类(我们称之为MapView),扩展基类View(从tns-core-modules/ui/core/view)。应该就是这样,现在您可以注册该类并在您的 Vue 模板中使用它。createNativeViewcom.esri.arcgisruntime.mapping.view.MapViewMapView

有用的文档:

于 2018-11-19T12:29:08.930 回答