HERE 地图图块标签仅在特定缩放级别使用指定语言?
HERE Map Tile Labels only using specified language at certain zoom levels?
我们正在使用 HERE JS API 在我们的网站上显示 HERE 地图小部件。我们需要为地图图块指定一种特定语言,因此我们找到了这个 API 参考,它说我们可以在创建 defaultLayers 时发送地图图块语言。
例如:this doc,虽然我们确实发现我们必须使用 "lg" 而不是 "lang"。
我们传入层创建语言如下:
var maptypes = platform.createDefaultLayers({
tileSize: devicePixelRatio > 1 ? 512 : 256,
ppi: devicePixelRatio > 1 ? 320 : 72,
lg: "hin"
});
它似乎部分起作用。在更远的缩放级别,我可以看到标签是印地语。但是,有时当我放大或缩小时,标签会变成罗马化的英文字符。这是预期的行为吗?有什么办法可以解决这个问题吗?
最初出现的印地语:
按最小比例放大时标签中显示英文:
这些是我们使用的版本:
<script src="https://js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-ui.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-mapevents.js" type="text/javascript" charset="utf-8"></script>
尝试使用以下依赖项
<link rel="stylesheet" type="text/css" href="https://js.cit.api.here.com/v3/3.0/mapsjs-ui.css?dp-version=1549984893" />
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-service.js"></script>
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-ui.js"></script>
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-mapevents.js"></script>
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-clustering.js"></script>
<script type="text/javascript" src="https://js.cit.datalens.api.here.com/latest/mapsjs-datalens.js"></script>
如您所知,要更改地图图块的语言,您需要传递 lg 参数。它在 HERE Map Tile API documentation.
中说明
The MARC three-letter language code for requesting a map tile rendered in a specific language. If the given language is not available, the default language eng is used.
这就是为什么指定 lg=hin 不会绝对显示该语言的所有标签。
关于 createDefaultLayers 方法。所以你可以通过传递几个参数或一个对象来调用它。示例:
const tileSize = devicePixelRatio > 1 ? 512 : 256;
const ppi = devicePixelRatio > 1 ? 320 : 72;
platform.createDefaultLayers(tileSize, ppi, "hin");
或(注意 ES6 对象初始化符号)
platform.createDefaultLayers({tileSize, ppi, lg: "hin"});
我们正在使用 HERE JS API 在我们的网站上显示 HERE 地图小部件。我们需要为地图图块指定一种特定语言,因此我们找到了这个 API 参考,它说我们可以在创建 defaultLayers 时发送地图图块语言。 例如:this doc,虽然我们确实发现我们必须使用 "lg" 而不是 "lang"。
我们传入层创建语言如下:
var maptypes = platform.createDefaultLayers({
tileSize: devicePixelRatio > 1 ? 512 : 256,
ppi: devicePixelRatio > 1 ? 320 : 72,
lg: "hin"
});
它似乎部分起作用。在更远的缩放级别,我可以看到标签是印地语。但是,有时当我放大或缩小时,标签会变成罗马化的英文字符。这是预期的行为吗?有什么办法可以解决这个问题吗?
最初出现的印地语:
按最小比例放大时标签中显示英文:
这些是我们使用的版本:
<script src="https://js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-ui.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-mapevents.js" type="text/javascript" charset="utf-8"></script>
尝试使用以下依赖项
<link rel="stylesheet" type="text/css" href="https://js.cit.api.here.com/v3/3.0/mapsjs-ui.css?dp-version=1549984893" />
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-service.js"></script>
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-ui.js"></script>
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-mapevents.js"></script>
<script type="text/javascript" src="https://js.cit.api.here.com/v3/3.0/mapsjs-clustering.js"></script>
<script type="text/javascript" src="https://js.cit.datalens.api.here.com/latest/mapsjs-datalens.js"></script>
如您所知,要更改地图图块的语言,您需要传递 lg 参数。它在 HERE Map Tile API documentation.
中说明The MARC three-letter language code for requesting a map tile rendered in a specific language. If the given language is not available, the default language eng is used.
这就是为什么指定 lg=hin 不会绝对显示该语言的所有标签。
关于 createDefaultLayers 方法。所以你可以通过传递几个参数或一个对象来调用它。示例:
const tileSize = devicePixelRatio > 1 ? 512 : 256;
const ppi = devicePixelRatio > 1 ? 320 : 72;
platform.createDefaultLayers(tileSize, ppi, "hin");
或(注意 ES6 对象初始化符号)
platform.createDefaultLayers({tileSize, ppi, lg: "hin"});