rn_supermap
Version:
rn_supermap 一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
417 lines (392 loc) • 7.34 kB
JavaScript
/**
* Copyright © SuperMap. All rights reserved.
* Author: Asort
* https://github.com/AsortKeven
* 地图设置菜单类
*/
import { NativeModules, Platform } from 'react-native'
let SMap = NativeModules.SMap
/**
* 获取当前比例尺的width和title
* @returns {*}
*/
function getScaleData() {
try{
return SMap.getScaleData();
}catch (e) {
console.error(e);
}
}
/**
* 获取当前地图旋转角度
* @returns {*}
*/
function getMapAngle() {
try {
return SMap.getMapAngle();
}catch (e) {
console.error(e)
}
}
/**
* 设置地图旋转角度
* @param value
* @returns {*}
*/
function setMapAngle(value) {
try {
return SMap.setMapAngle(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取当前地图颜色模式
* @returns {*}
*/
function getMapColorMode() {
try {
return SMap.getMapColorMode();
}catch (e) {
console.error(e)
}
}
/**
* 设置当前地图颜色模式
* @param value
* @returns {*}
*/
function setMapColorMode(value) {
try {
return SMap.setMapColorMode(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取地图背景色
* @returns {*}
*/
function getMapBackgroundColor() {
try {
return SMap.getMapBackgroundColor();
}catch (e) {
console.error(e)
}
}
/**
* 设置地图背景色
* @param value 十六进制颜色 转换成rgb '#FFDE4D'
* @returns {*}
*/
function setMapBackgroundColor(value) {
try {
let r = parseInt(`0x${value.substring(1,3)}`)
let g = parseInt(`0x${value.substring(3,5)}`)
let b = parseInt(`0x${value.substring(5,7)}`)
return SMap.setMapBackgroundColor(r,g,b);
}catch (e) {
console.error(e)
}
}
/**
* 设置是否固定文本角度
* @param value
* @returns {*}
*/
function setTextFixedAngle(value) {
try {
return SMap.setTextFixedAngle(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取是否固定文本角度
* @returns {*}
*/
function getTextFixedAngle() {
try {
return SMap.getTextFixedAngle();
}catch (e) {
console.error(e)
}
}
/**
* 设置是否固定符号角度
* @param value
* @returns {*}
*/
function setMarkerFixedAngle(value) {
try {
return SMap.setMarkerFixedAngle(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取是否固定符号角度
* @param value
* @returns {*}
*/
function getMarkerFixedAngle() {
try {
return SMap.getMarkerFixedAngle();
}catch (e) {
console.error(e)
}
}
/**
* 获取是否固定文本方向
* @returns {*}
*/
function getFixedTextOrientation() {
try {
return SMap.getFixedTextOrientation();
}catch (e) {
console.error(e)
}
}
/**
* 设置是否固定文本方向
* @param value
* @returns {*}
*/
function setFixedTextOrientation(value) {
try {
return SMap.setFixedTextOrientation(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取当前地图放大镜是否已开启
* @returns {*}
*/
function isMagnifierEnabled() {
try {
return SMap.isMagnifierEnabled()
}catch (e) {
console.error(e)
}
}
/**
* 设置当前地图放大镜开启/关闭
* @param value
* @returns {*}
*/
function setIsMagnifierEnabled(value) {
try {
return SMap.setIsMagnifierEnabled(value)
}catch (e) {
console.error(e)
}
}
/**
* 获取当前地图中心点
* @returns {*}
*/
function getMapCenter() {
try {
return SMap.getMapCenter();
}catch (e) {
console.error(e)
}
}
/**
* 设置当前地图中心点
* @param x
* @param y
* @returns {*}
*/
function setMapCenter(x,y) {
try {
return SMap.setMapCenter(x,y);
}catch (e) {
console.error(e)
}
}
/**
* 获取地图比例尺
* @returns {*}
*/
function getMapScale() {
try {
return SMap.getMapScale();
}catch (e) {
console.error(e)
}
}
/**
* 设置地图比例尺
* @param value double 第二个数字 如 1:10.11 value为10.11
* @returns {*}
*/
function setMapScale(value) {
try {
return SMap.setMapScale(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取当前窗口四至范围 viewbounds
* @returns {*}
*/
function getMapViewBounds() {
try {
return SMap.getMapViewBounds();
}catch (e) {
console.error(e)
}
}
/**
* 设置当前窗口四至范围
* @param data
* @returns {*}
*/
function setMapViewBounds({left,bottom,right,top}) {
try {
return SMap.setMapViewBounds(left,bottom,right,top);
}catch (e) {
console.error(e)
}
}
/**
* 获取当前地图坐标系
* @returns {Promise<PrjCoordSys>}
*/
function getPrjCoordSys() {
try {
return SMap.getPrjCoordSys();
}catch (e) {
console.error(e)
}
}
/**
* 设置当前地图地理坐标系 通过xml设置
* @param xml
* @returns {*}
*/
function setPrjCoordSys(xml) {
try {
return SMap.setPrjCoordSys(xml);
}catch (e) {
console.error(e)
}
}
/**
* 从数据源复制坐标系
* @param dataSourceServer
*/
function copyPrjCoordSysFromDatasource(dataSourceServer,engineType){
try {
return SMap.copyPrjCoordSysFromDatasource(dataSourceServer,engineType)
} catch (error) {
console.error(e)
}
}
/**
* 从数据集复制坐标系
* @param datasourceName
* @param datasetName
* @returns {*}
*/
function copyPrjCoordSysFromDataset(datasourceName,datasetName) {
try {
return SMap.copyPrjCoordSysFromDataset(datasourceName,datasetName)
}catch (e) {
console.error(e)
}
}
/**
* 从文件复制坐标系 目前支持的文件类型 xml prj
* @param filePath 完整路径
* @param fileType
* @returns {*}
*/
function copyPrjCoordSysFromFile(filePath,fileType) {
try {
return SMap.copyPrjCoordSysFromFile(filePath,fileType)
}catch (e) {
console.error(e)
}
}
/**
* 获取当前动态投影是否已开启
* @returns {*}
*/
function getMapDynamicProjection() {
try {
return SMap.getMapDynamicProjection();
}catch (e) {
console.error(e)
}
}
/**
* 设置当前动态投影是否开启
* @param value
* @returns {*}
*/
function setMapDynamicProjection(value) {
try {
return SMap.setMapDynamicProjection(value);
}catch (e) {
console.error(e)
}
}
/**
* 获取当前动态投影转换方法
* @returns {*} 返回值类型{'name':'Geocentric Translation(3-para)','value':9603}
*/
function getCoordSysTransMethod() {
try {
return SMap.getCoordSysTransMethod();
}catch (e) {
console.error(e)
}
}
/**
* 设置当前动态投影的方法和参数
* @param params 对象 包含方法名和7参数
* @returns {*}
*/
function setCoordSysTransMethodAndParams(params) {
try {
return SMap.setCoordSysTransMethodAndParams(params);
}catch (e) {
console.error(e)
}
}
export {
getScaleData,
getMapAngle,
setMapAngle,
setMapBackgroundColor,
getMapBackgroundColor,
getMapColorMode,
setMapColorMode,
getMarkerFixedAngle,
setMarkerFixedAngle,
getTextFixedAngle,
setTextFixedAngle,
getFixedTextOrientation,
setFixedTextOrientation,
isMagnifierEnabled,
setIsMagnifierEnabled,
getMapViewBounds,
setMapViewBounds,
getMapCenter,
setMapCenter,
getMapScale,
setMapScale,
getPrjCoordSys,
setPrjCoordSys,
copyPrjCoordSysFromDatasource,
copyPrjCoordSysFromDataset,
copyPrjCoordSysFromFile,
getMapDynamicProjection,
setMapDynamicProjection,
getCoordSysTransMethod,
setCoordSysTransMethodAndParams,
}