问题标签 [mapkit-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1245 浏览

typescript - 是否有 Apple MapKit JS 打字稿定义文件?

在我开始写之前,有没有人看过 Apple MapKit JS 的打字稿定义文件(.d.ts)?

0 投票
2 回答
1750 浏览

angular - 包括第三方库的类型会提供通过 Angular CLI 找不到的模块?

@types我试图在我的 Angular 9 应用程序中包含 Apple MapKit JS 的类型,因为该库没有提供高质量的类型,在scoped 包中也没有任何好的第三方类型。然而,Angular CLI 对我如何包含我的类型并不满意。我在编译时收到的确切错误是:

我究竟做错了什么?

打字

~src/types/mapkit/index.d.ts

这是声明类型的地方,以及它们的声明方式。

打字稿配置

tsconfig.json

tsconfig.app.json

代码中的用法

这是如何mapkit使用的。

0 投票
0 回答
196 浏览

javascript - 如何判断 Mapkit JS Map 何时创建完成

如果您想知道我为什么要这样做,这是对这个问题的后续。

我需要创建一个 mapkit JS 地图,然后在创建完成后将其销毁。我加载了 mapkit API。然后我创建地图:

发生这种情况后,地图会进行一些 API 调用。我对此进行了测试。我加载了mapkit脚本,然后等待了 5 秒钟,然后创建了一个新的map. 以下是创建新地图时进行的调用。

在此处输入图像描述

我需要弄清楚它什么时候完成了它正在做的所有工作,以便我可以销毁它并卸载地图。

没有事件处理程序可以说它已准备就绪,有一个未记录的属性:map._impl.state从 更改InitializedReady,但这会立即发生并且在所有工作完成之前发生,因此没有任何帮助。

如果您在创建地图后立即销毁它,则会产生错误:

目前我只是设置一个超时,希望它就足够了......

0 投票
1 回答
139 浏览

node.js - 在 Node.js(Firebase 函数)中运行 Mapkit JS 时如何修复“窗口未定义”

我一直在浏览器中使用 Apple Mapkit JS POI 搜索和 reverseGeoLocation 搜索,并希望将我的代码移动到 Firebase 函数 (node.js)。

我可以使用 mapkit-npm 导入 mapkit(或者只是下载最新的 CDN 文件并直接导入)。

当我使用 const mapkit = require() 声明 mapkit 时,出现错误“窗口未定义”。

我尝试使用 NPM jsDOM 创建一个窗口对象,但我仍然收到错误,我认为这是由于我的窗口或导航器对象上缺少字段。(诸如“无法在未定义时执行 toLowerCase”之类的错误)。

请问有人可以帮我在非浏览器环境中运行 mapkit 吗?

谢谢 :)

0 投票
1 回答
219 浏览

javascript - Apple MapKit JS(网络)- 最大相机缩放

Apple 的MapKit JS(用于网络)处于测试阶段。

我正在尝试缩小相机,以便无需滚动或缩放即可看到整个世界,但最大缩放级别似乎有上限。

我尝试在地图上设置cameraZoomRangecameraDistance属性,但没有运气。这些值以米为单位(根据文档),但没有提及支持的最大值。有谁知道这是否有解决方案?

显示最大缩放级别的示例实现。

0 投票
0 回答
69 浏览

jwt - 无法使用 JWT 令牌加载 Mapkit 进行授权

我正在尝试使用 MapKit.js 库从 geojson 文件加载 CAD 图像。对于地理定位授权,我使用 JWT 生成令牌,如下所示。

尝试使用从上述代码生成的 JWT 令牌时,我看到了以下问题。

有人可以帮忙吗。

0 投票
0 回答
48 浏览

node.js - 如何使用叠加创建 Mapkit Web 快照?

我正在尝试使用Apple Mapkit Web 快照生成器,但无法让 URL 用于覆盖。

文档说要传递一个对象数组,但是我找不到任何关于如何做到这一点的好例子,文档中也没有例子。

我的示例数组是:

我尝试将它传递到 Node JS 的QS 包中,但没有成功。

我不断收到的错误是{"error":{"message":"Not Authorized","details":[]}}

我已经测试了生成没有覆盖的 URL 查询的函数(只是手动设置中心值)并且它们工作正常,所以我认为我的身份验证过程工作正常。覆盖似乎是破坏性问题。

注意 - 此处已询问但未回答:Apple Maps Web 快照覆盖的正确格式是什么?

0 投票
0 回答
83 浏览

mapkit - 如何启用在 mapkit js 中单击默认 POI 标记

我正在使用 mapkit js。var map = new mapkit.Map('mymap', { center: center, cameraDistance: 300, showsZoomControl: true, showsPointsOfInterest: true, });

地图初始化后,它带有一些带有图标的默认 POI,如 Apple 地图结果。我想在单击 POI 图标时获取 POI 信息。例如,POI 名称、坐标、地址……等。

我该怎么做?我尝试了 addEventListener,但没有运气。点击 POI 图标会返回什么对象?

0 投票
1 回答
89 浏览

javascript - 为 Apple Maps 创建 jwt 令牌时有多个来源?

我正在按照 Apple 的本指南创建一个 jwt 令牌以与他们的 Apple Maps JS Kit 一起使用:https ://developer.apple.com/documentation/mapkitjs/creating_and_using_tokens_with_mapkit_js

它有效,但我怎样才能设置多个来源?我不希望它允许localhost,production-urlproduction-backend-url。但看起来它只接受一个字符串。

目前我正在做:

但它怎么也允许第三域呢?

0 投票
0 回答
49 浏览

mapkit - 什么算作 MapKitJs 调用?

MapKitJS 目前(2021 年 6 月)每天提供 250,000 次免费地图调用。这对我提出了一个问题,什么算作电话?

调用mapkit.init(...)方法或创建新地图实例时是否计算调用?

例如,如果我使用以下方法在我的网站上创建两个地图:

但只打mapkit.init(...)一次电话,那还算一两次电话吗?