问题标签 [heremaps-ios-sdk]

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 投票
1 回答
192 浏览

ios - 如何使用 HERE SDK for iOS Premium Edition 显示指南针和比例尺?

我正在使用适用于 iOS 高级版 (v3.17) 的 Here SDK。是否有内置的指南针和比例尺显示在地图上(如缩放/旋转地图时在 iOS 上的原生 HERE WeGo 应用程序中看到的那样)?一直在翻阅文档,但找不到任何东西。如果没有内置方式...您介意在 Here WeGo 应用程序中分享这是如何完成的(代码会很棒)吗?

在此处输入图像描述

0 投票
2 回答
106 浏览

here-api - 如何在 Here iOS SDK 高级版的 API 文档中进行文本搜索?

我正在使用 Here SDK 在 Xcode 中开发一个 iOS 项目。我正在使用高级版(v3.17)。
我使用 CocoaPods 将 SDK 添加到我的项目中。当我搜索我的工作区时,我没有从 HereSDK 头文件中得到任何结果。例如,当我搜索“NMAProxyObject”时,我只会得到我在自己的 swift 文件中使用该术语的结果。

网站上的搜索功能提供了比高级 iOS SDK 更多的结果。

有没有办法只搜索高级 iOS SDK 的 API 文档?通过 Xcode 还是其他方式?

0 投票
0 回答
26 浏览

compiler-errors - xcode 12.3 给了我下面的错误这里地图 IOS swift 5

//使用 Swift 5.1.2 编译的模块不能被 Swift 5.3.2 编译器导入:/Users/xyz/Desktop/repo/heresdk.framework/Modules/heresdk.swiftmodule/arm64.swiftmodule

请帮我解决。

0 投票
0 回答
58 浏览

ios - 示例 HERE 创建一个简单的 HERE SDK 应用程序 使用 Swift 会产生错误

我正在尝试使用以下链接构建 Simple HERE SDK 应用程序。

https://developer.here.com/documentation/ios-premium/3.17/dev_guide/topics/app-simple-swift.html

我进入第 4 步(通过将 viewDidLoad() 函数替换为 viewWillAppear(animated) 和 addMapCircle() 来实现 NMAMapView 设置和生命周期代码:)

几个问题:

  1. mapView.useHighResolutionMap = true 然后Xcode说没有成员'useHighResolutionMap'

  2. if mapCircle == nil { 然后 Xcode 说在范围内找不到“mapCircle”

这是官方示例代码,所以我希望它可以工作?

如果我注释掉//mapView.useHighResolutionMap = true 并引用addMapCircle代码,那么项目就会构建。

0 投票
0 回答
41 浏览

swift - 如何改善移动数据 4G 上 NMARouter (calculateRoute) 和 NMAAutoSuggestionRequest 的加载时间 -> HERE SDK for iOS (Premium Edition)

我一直在快速使用 HERE SDK for iOS(高级版)开发 HERE Maps 导航应用程序。除了在现实世界中使用移动数据进行测试时加载时间极慢之外,一切都按预期工作。

该应用程序无法在任何低于 3 格的 4G 上使用,与其他提供商相比,生产应用程序无法接受。

都使用 NMAAutoSuggestionRequest 搜索新位置

并且在使用 NMACoreRouter() 计算新路线时

有没有人有任何提示或可以指出正确的方向来提高性能?出于多种原因,预加载地图数据并不是一个真正的选择,即用于计算路线的算法在本地运行时显然不那么强大,而且地图的大小非常大。我还注意到在预下载的地图数据上搜索 NMAAutoSuggestionRequest 时,由于某种原因,结果不包括地理坐标,地址是,但没有坐标 lat: 0 long: 0。

谢谢你的帮助!

0 投票
0 回答
39 浏览

android - iOS 在这里 SDK 说 Heavy Right 但显示 Heavy Left

我正在使用适用于 iOS 版本 3.17 的 Here SDK,但我不确定这是错误还是我做错了什么:

地图

navigationManager didUpdateManeuvers用 turnNMAManeuverTurnHeavyRight和 icon调用NMAManeuverIconHeavyRightcurrentManeuver.angle是359。连语音导航都说重对了。

但道路清楚地显示左转,这是该位置的正确动作。这既发生在真实设备上,也发生在具有虚假位置的模拟器中。

这是一个错误吗?

编辑:同样的事情发生在 android

0 投票
1 回答
111 浏览

ios - 这里 Map SDK IOS (Premium) 点击标记

下午好,曾经为 ios 使用过 heremap sdk premium 的人。如何使点击 NMAMapMarker 成为可能?他们在文档中写的内容没有描述,但也许我错了。

0 投票
0 回答
39 浏览

ios - HERE MAPS (iOS Swift SDK) 如何识别要加载的 Tile?

我试图理解 Tile 的概念并用它来呈现光栅。

我已经在 github 上看到了一个例子,其中一张熊猫的图片再次被加载。

我有以下 RasterLayer:

我想将其显示为 HERE 地图上的叠加层。

Tile 是完成这项任务的正确方法吗?

例如,我可以将我的栅格划分为 256x256 像素的 png 文件。我只是不明白如何选择与屏幕上显示的区域相对应的正确一个。

我试图找到任何描述并打印出来自

MapRasterTilesApp

但仍然不明白它是如何工作的,因为打印出来是这样的:

有没有办法识别显示的区域以便我选择正确的瓷砖?还是有其他方法来呈现叠加层?我也尝试使用地图标记,但有很多(光栅->地图制作者),所以 iPhone 的内存消耗增加了。

0 投票
0 回答
99 浏览

ios - 如何减少/降低 HERE Maps SDK 中的路线持续时间估计?

我正在使用 Here SDK 在 Xcode 中开发一个 iOS 项目。我正在使用高级版(v3.17)。使用 计算路线时NMACoreRouter,我发现持续时间通常被高估。多少取决于国家。

示例(与 Google Maps 估计相比):

  • 在墨西哥,与谷歌地图相比,一条以高速公路为主的路线被高估了 25%。
  • 在德国,一条以高速公路为主的路线与谷歌地图相比被高估了 5%
  • 在美国,与谷歌地图相比,一条以高速公路为主的路线被高估了 10%。

请注意,谷歌地图考虑了流量,而我没有考虑 HERE SDK 的流量,因此实际差异会更大。

如何减少/降低 HERE Maps SDK 中的路线持续时间估计?

我尝试过的事情:

  • routingModeofNMACoreRouter有一个speedProfile可以设置为的属性NMASpeedProfile.fast,但是这仅适用于卡车路线,并且在将此值用于汽车路线时会导致崩溃。所以,不是我的应用程序的选项。

  • dynamicPenalty属性NMACoreRouter:有了这个,基本上你为一个数组设置了一个自定义的速度限制NMARoadElement。我为此创建了这个扩展:

但是这带来了一个困难:要使 speedLimit 调整生效,dynamicPenalty需要在计算路线之前设置。因此,在计算路线之前,您需要知道要为其调整 speedLimit 的 roadElements。我为此找到了两种解决方案:

  1. 路线边界框中的所有 NMARoadElements(在我的应用程序中,我在计算之前知道路线上的关键点,并且可以使用这些点来获取边界框)

但这似乎不起作用。无论是否设置惩罚,我都会得到相同的持续时间。最重要的是,缺点:设置那么多 roadElements 需要很长时间dynamicPenalty(在 iPhone 12 Pro 上大约需要 20-30 秒,对于大约 50 公里乘 100 公里的边界框)。

  1. 先计算路线,不使用dynamicPenalty。从计算得到的 NMARoute 中,可以推导出路由中的 NMARoadElements。调用adjustDurationCalculationFor这些元素,然后重新计算路线。

我没有尝试过这个,但我想它有同样的问题,它不像 nr 1 那样工作,报告的持续时间是相同的,有或没有调整速度限制。如果它有效,那么这可能是比 1 更好的选择,因为 NMARoadElements 的数量要小得多,因此设置“dynamicPenalty”也会快得多。但是,这带来了一个缺点: - 路线计算需要进行两次,在导航期间,当用户偏离路线并且需要重新计算路线时也是如此。

所以现在,我的问题是,有没有更好的方法来减少/降低路线持续时间估计?dynamicPenalty的API 文档提到

...您可以使用此类设置区域惩罚,以指示某个区域的行驶速度比法定速度限制慢 50%。

怎么做呢?

还是有另一种我还没有找到的方法?当 NMARoadElement 的速度限制未知时,是否可能使用某种可配置的后备值?

0 投票
1 回答
88 浏览

ios - 如何使用与 NMANavigationManager (HERE SDK) 相同的语音播放测试语音指导语句?

我正在使用 Here SDK 在 Xcode 中开发一个 iOS 项目。我正在使用高级版(v3.17)。在我的应用程序的“设置”屏幕中,用户可以选择 SDK 正在使用的“语音”(我通过NMAVoiceCatalog voicePackages属性获取该列表。)

当用户选择一个声音时,我想播放一个小句子(例如“立即转身”),这样他们就可以立即得到反馈,如果他们喜欢那个声音。

现在,我知道NMAAudioManager有一种方法playOutput可以播放预先录制的声音文件或 tts 字符串。太好了,但现在我的问题是:

如何确保该NMAAudioManager.sharedInstance().play(方法以相同的声音播放NMANavigationManager

请务必注意此处的 tts 语音和预录语音之间的区别。

预录的声音 我想这是一个预录的 mp3 或 wav 文件的资源包。我只需要知道我可以使用的一个或多个声音文件的 url。例如,句子“turn right now”的声音文件。我想所有语言的所有声音的文件名都是相同的(虽然不确定)。是否有可用声音文件及其名称的列表?或者您能否给我一些声音文件名(以及 SDK 中的 URL),以便我可以通过 NMAAudioManager 将它们作为测试声音播放?

tts voices 对于这些声音,我可以用每种支持的语言创建一个句子并将其提供给NMAAudioManager.sharedInstance().play(方法。我会为那个句子创建一个“NMATTSAudioOutput”。但是,我需要正确设置该AVSpeechSynthesisVoice“NMATTSAudioOutput”实例的语音属性。正确的意思是AVSpeechSynthesisVoiceNMANavigationManager 正在使用的相同。我试过使用AVSpeechSynthesisVoice(language: voicePackage.languageCode),但这并没有提供与使用相同的 AVSpeechSynthesisVoice NMANavigationManager。例如 English UK tts voicePackage 与 English US 一起播放AVSpeechSynthesisVoice。你能和我分享一下如何选择NMANavigationManager属性吗?AVSpeechSynthesisVoiceNMAVoicePackage