Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问许可证需确认审计通过

expo-gaode-map世博会高德地图

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

384

周安装

16

GitHub Stars

76

下载量

128
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:expo-gaode-map(世博会高德地图)
来源仓库:https://github.com/tomwq/expo-gaode-map
仓库路径:skills/expo-gaode-map
安装命令:
npx skills add https://github.com/tomwq/expo-gaode-map --skill expo-gaode-map
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/tomwq/expo-gaode-map --skill expo-gaode-map

简介

集成高德地图原生 SDK,提供地图视图、定位与离线数据管理能力。

  • 支持标记点、路径绘制及高性能聚合显示,适用于 LBS 类应用开发。
  • 内置 C++ 引擎优化海量点位渲染性能,降低 JS 线程负载。
  • 必须完成 SDK 初始化与隐私协议签署后方可调用地图相关功能。
  • expo-gaode-map 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Expo Gaode Map

描述

expo-gaode-map 是高德地图的 React Native 核心包(Expo Module)。它提供了原生地图视图、定位服务、离线地图管理以及基于 C++ 引擎的高性能点聚合功能。

使用场景

  • 基础地图:显示标准/卫星/夜间地图,控制缩放、旋转、俯视。
  • 定位服务:获取用户当前位置、持续定位、后台定位轨迹记录。
  • 覆盖物绘制:绘制标记点 (Marker)、折线 (Polyline)、多边形 (Polygon)、圆 (Circle)。
  • 高性能聚合:处理成千上万个标记点的聚合显示 (Cluster)。
  • 离线地图:下载城市离线数据以节省流量。

开发指令

1. 配置 (Configuration)

  • 推荐:在 app.jsonplugins 节点配置 API Key 和权限。
  • 备选:如果未使用插件配置,需在根组件调用 ExpoGaodeMapModule.initSDK({androidKey, iosKey})
  • 强制要求:在调用 initSDK()、渲染 <MapView>、调用定位 API 前,必须先完成:

- ExpoGaodeMapModule.setPrivacyShow(true, true) - ExpoGaodeMapModule.setPrivacyAgree(true)

1.1 升级迁移 (v2.3+)

  • 老版本项目如果直接 import 后就渲染 <MapView> 或调用定位 API,升级后会先抛出 PRIVACY_NOT_AGREED
  • Android 如果绕过 JS 保护直接落到原生层,可能看到高德隐私校验错误 555570
  • 正确流程应为:应用首次启动先弹隐私协议 -> 用户同意 -> 设置隐私状态 -> 再初始化 SDK / 进入地图页

2. 地图集成 (MapView)

  • 使用 <MapView> 组件显示地图。
  • 必须设置 style (通常是 flex: 1) 否则地图不可见。
  • 使用 initialCameraPosition 设置初始视角(中心点、缩放)。

3. 高性能几何计算 (Utility Methods)

  • 核心原则:涉及到地理位置计算(如距离、纠偏、抽稀、判断点在多边形内等),必须优先使用 ExpoGaodeMapModule 提供的原生方法
  • 严禁:不要尝试在 JS 层手写复杂的地理算法(如 RDP、点在多边形内的射线法等),原生模块底层由 C++ 驱动,性能远超 JS。
  • 常用方法

- distanceBetweenCoordinates(p1, p2): 计算两点距离。 - getNearestPointOnPath(path, target): 获取路径上距离目标点最近的点(吸附/纠偏)。 - simplifyPolyline(points, tolerance): 轨迹抽稀 (RDP 算法)。 - isPointInPolygon(point, polygon): 判断点是否在多边形内。 - calculatePathLength(points): 计算路径总长度。

4. 常用功能实现

  • 显示定位:设置 myLocationEnabledfollowUserLocation
  • 添加标记:在 MapView 内部嵌套 <Marker> 组件。
  • 绘制路线:在 MapView 内部嵌套 <Polyline> 组件。
  • 点聚合:使用 <Cluster> 组件包裹数据源,通过 clusterStyle 定制样式。

快速模式

✅ 场景 1:最简地图显示

import { MapView } from 'expo-gaode-map';

export default function App() {
  // 前提:应用更早阶段已完成隐私弹窗并调用过
  // ExpoGaodeMapModule.setPrivacyShow(true, true);
  // ExpoGaodeMapModule.setPrivacyAgree(true);

  return (
    <MapView
      style={{ flex: 1 }}
      mapType={1} // 1: Standard, 2: Satellite
      initialCameraPosition={{
        target: { latitude: 39.909, longitude: 116.397 }, // 北京天安门
        zoom: 10
      }}
    />
  );
}

✅ 场景 2:定位与用户追踪

// 前提:已经先完成 setPrivacyShow / setPrivacyAgree
<MapView
  style={{ flex: 1 }}
  myLocationEnabled={true}      // 显示蓝点
  followUserLocation={true}     // 跟随用户移动
  onLocation={(e) => {
    console.log('当前坐标:', e.nativeEvent);
  }}
/>

✅ 场景 3:高性能点聚合 (Cluster)

import { Cluster } from 'expo-gaode-map';

<Cluster
  points={[
    { latitude: 39.9, longitude: 116.4 },
    { latitude: 39.8, longitude: 116.3 },
    // ... 更多点
  ]}
  radius={30} // 聚合半径
  clusterStyle={{
    backgroundColor: '#4285F4',
    borderRadius: 15,
    justifyContent: 'center',
    alignItems: 'center'
  }}
  clusterTextStyle={{ color: '#FFFFFF', fontSize: 12 }}
  onClusterPress={(e) => console.log('点击聚合簇:', e.nativeEvent)}
/>

✅ 场景 4:使用原生几何计算 (推荐)

import { ExpoGaodeMapModule } from 'expo-gaode-map';

// 纠偏:获取路径上离当前点最近的点
const result = ExpoGaodeMapModule.getNearestPointOnPath(polylinePoints, userLocation);
if (result) {
  console.log('吸附后的坐标:', result.latitude, result.longitude);
  console.log('距离路径的距离:', result.distanceMeters);
}

// 轨迹抽稀
const simplified = ExpoGaodeMapModule.simplifyPolyline(rawPoints, 5); // 5米容差

🛡️ 类型安全最佳实践

本库提供了完整的 TypeScript 定义,请参考 类型定义文档 了解详情。

核心原则:请勿使用 any,始终导入并使用正确的类型(如 LatLng, CameraPosition, MapType 等)。

参考文档

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.13%
按下载量换算50

Claude

30.98%
按下载量换算40

Cursor

17.01%
按下载量换算22

Gemini CLI

8.57%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills