标签: here-api

这里地图 Javascript API

刚刚开始使用示例 javascript 来简单地显示基于纬度和经度坐标的地图。我在第一行得到一个 javascript ReferenceError !

代码片段:

<script src="http://js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="http://js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>    

    var platform = new H.service.Platform({
            'app_id': 'xxxxxxxxxxxxxxxxxxxx',
            'app_code': 'zzzzzzzzzzzzzzzzzzzzzzz'
        });
        // Obtain the default map types from the platform object
    var maptypes = platform.createDefaultLayers();
        // Instantiate (and display) a map object:
    var map = new H.Map(document.getElementById('bodydiv'), maptypes.normal.map, {
            zoom: 10, center: { lng: <%=longitude%>, lat: <%=latitude%>}
        });    
Run Code Online (Sandbox Code Playgroud)

浏览器控制台中的实际错误:ReferenceError: H 未定义 - 发生在 var platform=...

有任何想法吗?

javascript here-api

5
推荐指数
1
解决办法
6140
查看次数

澄清什么是 HERE 地图 API 的“交易”

我目前正在评估几个映射 API,我有一个关于 HERE 映射以及事务和请求是什么的问题。根据“计划”页面, “对于我们的大多数服务,一个事务是一个服务器请求。对于地图、卫星和交通图块,它是 15 个请求。” ,但是当我查看我的使用页面时,它说我在 9/27生成了756 个地图图块请求。这是否意味着我已经生成了 756 笔交易,还是我必须进行数学计算而我只生成了 51 笔(四舍五入)交易?

此外,我只在使用图上看到“地图瓷砖”指标。我没有看到初始交易/请求(请求启动地图)在哪里计数。这些不计算在内,只有地图图块请求计算在内吗?

非常感谢任何澄清!先感谢您!

here-api

5
推荐指数
1
解决办法
1481
查看次数

这里 SDK v3.5.0_466 java.lang.ClassNotFoundException:没有找到类“android.webkit.RenderProcessGoneDetail”

为此,我正在使用最新的 HERE SDK。这发生在 MapEngine 初始化之前。地图显示在屏幕上。

安卓SDK版本

  • compileSdkVersion 26
  • 构建工具版本“26.0.3”
11-16 10:50:00.245 30879-30879  I/cr_LibraryLoader: Expected native library version number "62.0.3202.84", actual native library version number "62.0.3202.84"
11-16 10:50:00.275 30879-30879  I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
11-16 10:50:00.365 30879-30879  I/art: Rejecting re-init on previously-failed class java.lang.Class<com.android.webview.chromium.eb>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
11-16 10:50:00.365 30879-30879  I/art:     at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, android.content.Context) (WebViewChromiumFactoryProvider.java:323)
11-16 10:50:00.365 30879-30879  I/art:     at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
11-16 10:50:00.365 30879-30879  I/art:     at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
11-16 …
Run Code Online (Sandbox Code Playgroud)

android here-api

5
推荐指数
1
解决办法
4406
查看次数

如何在 HERE Maps Android SDK 中减少 APK 大小

我使用了HERE Maps API 的高级 Android SDK并实现了演示应用程序。但是我的应用程序大小是65 MB

我还按如下方式shrinkResources在应用程序build.gradle文件中启用,但这对我不起作用。

 android {
    // Other settings

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是我们如何减少 HERE Maps API 上 Android SDK 中使用的 APK 大小。

sdk android here-api kotlin

5
推荐指数
1
解决办法
806
查看次数

HERE 使用自动完成功能映射 CORS 问题

我想在我的项目中使用 HERE 地图自动完成功能。但是当 ai 发送像文档中那样的请求时

this.axios.get('http://autocomplete.geocoder.api.here.com/6.2/suggest.json
  ?app_id={YOUR_APP_ID}
  &app_code={YOUR_APP_CODE}
  &query=Pariser+1+Berl
  &beginHighlight=<b>
  &endHighlight=</b>'
  )
  .then(response => {
    console.log(response)
  })
  .catch(error => {
    console.log(error)
  })
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

OPTIONS http://autocomplete.geocoder.api.here.com/6.2/suggest.json?{...} 405
Access to XMLHttpRequest at 'http://autocomplete.geocoder.api.here.com/6.2/suggest.json?{...}' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
Run Code Online (Sandbox Code Playgroud)

在网络面板的 Chrome 开发者控制台中我检查了这个

Provisional headers are shown
Access-Control-Request-Headers: x-auth-token, content-type
Access-Control-Request-Method: GET
Run Code Online (Sandbox Code Playgroud)

我将请求标头中的内容类型设置为 application/json 并更改了临时标头

to Access-Control-Request-Headers: x-auth-token
Access-Control-Request-Method: GET
Run Code Online (Sandbox Code Playgroud)

所以如果我理解正确,我应该设置 x-auth-token 标头。但是我可以在哪里拿到这个令牌呢?或者这个问题可能有其他原因?

文档中没有任何关于此类问题的信息。

here-api

5
推荐指数
1
解决办法
2797
查看次数

如何在此处地图中拖动地图后获取边界

在拖尾事件之后,我面临着获取此处地图中的地图边界的问题。我需要新的经纬度来在新更改的视口中获取一些项目/点。 我只想在拖动结束时获得谷歌地图 map.getBounds().getNorthEast().lat() 的替代方案。

我已经尝试过这些方法,但没有一个返回东北和西南坐标的经纬度位置。


 Heremap.addEventListener('dragend', (ev) => {
                    const target = ev.target;


                   // console.log(map.getViewModel().getLookAtData().bounds);
                    // console.log(map.getBounds());
                    // console.log(target.getViewPort());
                    // console.log(target.getBoundingBox());

                }, false);
Run Code Online (Sandbox Code Playgroud)

maps here-api

5
推荐指数
1
解决办法
2072
查看次数

如何在 UI Controls HERE Maps v3.1 中获取地形图

升级到带有矢量/WebGL 渲染的 v3.1 Javascript SDK 后,默认 UI 控件中现在没有地形层。

我查看了 API 文档,但没有明确的示例可以显示如何指定 UI 控件中显示的内容。

    var platform = new H.service.Platform({
            apikey: 'key'
    });

    var layers = platform.createDefaultLayers();

    var hereMap = new H.Map(
        document.getElementById(mapCanvasDiv),
        defaultLayers.vector.normal.map,
        {
            zoom: mapOptions.zoom,
            center: mapOptions.center
    });

    var ui = H.ui.UI.createDefault(hereMap, defaultLayers);

    // Guessing I can change "ui" in some way to include the terrain layer which is a raster layer.

    hereMap.UIControls = ui;
Run Code Online (Sandbox Code Playgroud)

我想在 UI 控件中有 Normal、Terrain 和 Satellite 层,就像我们在 v3.0 上一样,因为我们的一些客户使用了这个层。

javascript here-api

5
推荐指数
1
解决办法
1271
查看次数

Openlayers 地图不使用全宽

我在Angular上使用openlayers来显示带有here-api作为地图图块提供程序的地图。Openlayers 6.1.1 Angular 8.0.0

但是,当页面加载时,地图不会填满整个宽度。
这发生在适用于 Windows (PC) 的 Edge 和 Chrome 以及 Android 的 Chrome 上。

在 Windows 中,只有在调整浏览器窗口大小时,地图才会使用整个宽度。
在 Android 中,当地图从视图中滚动出来并重新回到视图中时,宽度会被填充。

下面的屏幕截图演示了调整浏览器大小之前和之后地图的外观。

初始显示上的部分宽度图

在此处输入图片说明

调整窗口大小后地图使用全宽

在此处输入图片说明

我的 Angular 组件映射配置如下所示:

addCommonProjections();
this.source = new XYZ({
  url: 'https://{1-4}.base.maps.ls.hereapi.com' +
    '/maptile/2.1/maptile/newest/normal.day/{z}/{x}/{y}/512/png?apiKey=someApiKey',
  attributions: 'Map Tiles &copy; ' + new Date().getFullYear() + ' developer.here.com'
});

this.layer = new TileLayer({
  source: this.source
});

this.view = new View({
  center: fromLonLat([this.property.longitude, this.property.latitude ]),
  zoom: 16
});

this.map = new Map({
  target: …
Run Code Online (Sandbox Code Playgroud)

openlayers here-api flexbox angular openlayers-6

5
推荐指数
1
解决办法
2051
查看次数

这里 API 返回 Unrecognized Kid Null 错误

这是我的 cURL 请求

curl https://geocode.search.hereapi.com/v1/geocode?q=5%20Rue%20Daunou%2C%2075000%20Paris%2C%20France -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXX"
Run Code Online (Sandbox Code Playgroud)

这是回应

{"error":"Unauthorized","error_description":"Token Validation Failure - unrecognized kid null"}
Run Code Online (Sandbox Code Playgroud)

我不确定发生了什么。我尝试了不同的访问密钥。我生成了新的。但不断收到同样的错误。

rest curl here-api here-maps-rest

5
推荐指数
1
解决办法
1141
查看次数

以色列 5 位邮政编码而不是 7 位

类似于这里 地图地理编码错误的以色列邮政编码

准确性声明

https://developer.here.com/documentation/geocoder/dev_guide/topics/coverage-geocoder.html上声明了 7 位数字,但只返回了 5 位数字。

https://en.wikipedia.org/wiki/Postal_codes_in_Israel声称 5 位邮政编码已于 2013 年逐步淘汰。因此包裹承运商需要 7 位邮政编码。

我们能否期望 HERE.com 地理编码服务在不久的将来更新为 7 位数邮政编码?如果没有,开发指南的期望应该更新以符合现实。

here-api

5
推荐指数
1
解决办法
1088
查看次数