在使用NativeScript中的本机库的第一步时,我们遇到了困难。
这是一个Map库,因此我认为它与注册新的自定义UI有关,但让我感到奇怪的是xml语法。
以下屏幕截图来自此页面:https://developers.arcgis.com/android/latest/guide/develop-your-first-map-app.htm
本机说明适用于Android Studio:
依赖关系(等级):
对于Java 8功能,它也具有怪异的依赖关系:
最后,是基本用法,它似乎需要大量平台特定的本机事件:
目前,我们仅对Android概念验证感兴趣,但最终制作并发布了多平台插件。
我知道这是很多说明,并且只问了一个问题就可以了,但这是我们的主要困惑:
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)我们还需要考虑其他步骤吗?特别要考虑的是,我们打算最终使其成为一个完整的插件。还是这比我做的简单/简单?
答案 0 :(得分:2)
忽略SDK文档中的XML示例,该示例特定于Android的XML标记。
您必须在MapView
的回调返回实例中创建一个新类(我们将其命名为View
),并扩展基类tns-core-modules/ui/core/view
(来自createNativeView
)。 com.esri.arcgisruntime.mapping.view.MapView
。就是这样,现在您可以注册MapView
类并在您的Vue模板中使用它。
有用的文档: