UNPKG

imobile_for_reactnative

Version:

iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。

122 lines (103 loc) 2.74 kB
import { NativeModules } from 'react-native' import {DatasourceConnectionInfo } from '../../../types/data' const SMap2 = NativeModules.SMap2 /** 地图点击事件对象 */ export interface ITouchEvent { screenPoint: { x: number y: number } mapPoint: { x: number y: number } LLPoint: { x: number y: number } } interface Point { x: number, y: number, } /** 关闭 Mapview */ export function onClose() { return SMap2.onClose() } /** 添加数据集到地图上 */ export function addToMap(info: DatasourceConnectionInfo, datasetIndex: number): Promise<boolean> { return SMap2.addToMap(info, datasetIndex) } /** * 添加位置callout * @param point 地图点 */ export function addLocationCallout(point: Point): Promise<boolean> { return SMap2.addLocationCallout(point) } /**移除位置callout */ export function removeLocationCallout(): Promise<boolean> { return SMap2.removeLocationCallout() } /** 定位到当前位置 */ export function moveToCurrent(): Promise<boolean> { return SMap2.moveToCurrent() } /** 地图放大缩小 */ export function zoom(scale: number): Promise<boolean>{ return SMap2.zoom(scale) } /** 获取当前位置 */ export function getCurrentPoint(): Promise<Point> { return SMap2.getCurrentPoint() } /** * 屏幕点转经纬度 * * 失败返回空 */ export function pixelToLL(point: Point): Promise<Point | null> { return SMap2.pixelToLL(point) } /** 数据是否可以打开 */ export function isDatasourceOpen(data: DatasourceConnectionInfo): Promise<Point> { return SMap2.isDatasourceOpen(data) } /** * 关闭地图选点数据源 */ export function closeAllDatasource(): Promise<boolean>{ return SMap2.closeAllDatasource() } /** * 仅用于地图选点 * 打开数据源并将指定数据集添加到地图上 * @param info DatasourceConnectionInfo * @param defaultDataset 指定要添加的数据集序号或数据集名称,-1或空字符串则不添加 * @param toHead 是否添加到顶部图层,默认值true * @param isVisible 设置图层可见,默认值true */ export function openDatasourceWithIndex( info: DatasourceConnectionInfo, defaultDataset: number | string, toHead?: boolean, isVisible?: boolean ): Promise<boolean> { return SMap2.openDatasourceWithIndex(info, defaultDataset, toHead = true, isVisible = true) } /** 添加导航轨迹 */ export async function addNaviTrack(param: {x: number, y: number}[]): Promise<boolean> { try { return await SMap2.addNaviTrack(param) } catch(e) { return false } } /** 移除导航轨迹 */ export async function removeNaviTrack(): Promise<boolean> { try { return await SMap2.removeNaviTrack() } catch(e) { return false } }