简介
在 Web 开发过程中,地图展示功能是一个很重要的需求。如果需要在面向全球用户的应用中展示地图,我们需要使用一些国家较小的地图数据集,如 Natural Earth。@geo-maps/world-land-2km5
就是一个使用 Natural Earth 数据集生成的 npm 包。
安装
使用 npm 安装:
npm install @geo-maps/world-land-2km5 --save-dev
使用
使用 @geo-maps/world-land-2km5
,您可以使用以下文件中的任何一个:
-- -------------------- ---- ------- -- --- ------ ------ ---------- ---- -------------------------------------------- ------ --------- ---- ------------------------------------------- ------ --------- ---- ------------------------------------------- -- -------- ----- ---------- - ----------------------------------------------------- ----- --------- - ---------------------------------------------------- ----- --------- - ----------------------------------------------------
每个 JSON 文件都有如下属性:
type
- 指定 GeoJSON 对象类型为FeatureCollection
features
- 包含Feature
对象的数组,每个Feature
对象代表一个国家或地区。每个Feature
包含以下属性:id
- ISO Alpha-3 编码,如中国为CHN
properties
- 包含简要名称name_short
和完整名称name_long
的对象geometry
- 根据 Natural Earth 数据集的定义包含必需的几何对象,如点线面
示例
以下是使用 @geo-maps/world-land-2km5
绘制世界地图的示例代码:
-- -------------------- ---- ------- ------ - ----------------- ------- - ---- --------- ------ ---------- ---- -------------------------------------------- ----- ----- - ---- ----- ------ - ---- ----- ------ - ---------------------------------- -------------- ------ --------------- -------- ----- ------- - ------------------------------- ----- ---------- - ------------------ ----------------- - -- ------ - --- ------------ ----- ---- - --------- ----------------------- ------------------ ------------------- - ------- ----------------- - ---- ----------------- - ------- ------------------- -- ------ -------- -------------------- --------------------------------- -------------------------- ----------------- -------------------- ------------------------------ ----------------------------- --- -- -- - --- ---- -----------------
该示例使用 D3.js 库,使用 @geo-maps/world-land-2km5
的 world-110m.json
文件绘制了世界地图。可以在浏览器中运行示例,使用 topojson 库处理 GeoJSON 对象。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600568b781e8991b448e4836