gpt4 book ai didi

javascript - 如何通过诺基亚 map 使用国家/地区代码设置国家/地区?

转载 作者:行者123 更新时间:2023-12-02 18:55:48 26 4
gpt4 key购买 nike

我听说您可以使用国家/地区代码搜索国家/地区(我尝试使用 Nokia Here 非常棒),我所在国家/地区的代码是“SV”(我来自萨尔瓦多)但我不知道如何实现。我在 API 指南中找到了这些代码:Interface nokia.maps.search.Address ,但他们没有任何示例。

您能给我一个如何实现的非常简单的例子吗?因为我找不到任何例子。如果您知道如何在您选择的国家/地区设置自动缩放,我将非常感激。非常感谢您的帮助和宝贵的时间。

最佳答案

描述了 HERE map 地理编码服务 here在文档中 - 请注意,最新版本的 API 是版本 2.2.4,而不是链接中提到的 2.1.1。

应使用以下脚本加载最新的库

<script type="text/javascript" charset="UTF-8" src="http://api.maps.nokia.com/2.2.4/jsl.js?with=all"></script>

可以使用自由文本地址或结构化地址发出地理编码请求。

对于自由文本搜索,您可以发出如下请求:

var searchTerm = "berlin";

nokia.places.search.manager.geoCode({
searchTerm: searchTerm,
onComplete: processResults
});

这将找到世界上最大的城市,称为柏林,即德国的城市。

对于结构化地址搜索,您可以发出如下所示的请求:

var address = new Object();

address.countryCode = "USA";
address.city = "Berlin";

nokia.places.search.manager.geoCode({
address: address,
onComplete: processResults
});

这将找到美国新罕布什尔州的柏林市。 address 对象可以包含 address 中描述的任何属性。

关于缩放到某个国家/地区 - 这实际上是一种 findPlaces 搜索 - 您正在寻找具有该名称的行政区域的地点搜索的第一个(即最重要的)结果国家。以下代码将缩放到萨尔瓦多:

var zoomTo = function (data, status) {

if (status == "OK") {
var locations = data.results.items;
for (var i = 0, len = locations.length ; i < len ; i++) {

if ( "administrative-region" == locations[i].category.categoryId){
map.zoomTo(nokia.maps.geo.BoundingBox.coverAll
([locations[i].boundingBox.topLeft,
locations[i].boundingBox.bottomRight ]), false);
break;
}
}
} else {
alert("The search request failed");
}
};

var term = "El Salvador";
nokia.places.search.manager.findPlaces({
searchTerm: term,
onComplete: zoomTo ,
boundingBox: {
topLeft: {
latitude: 85,
longitude: -179.99
},
bottomRight: {
latitude: -85,
longitude: 179.99
}
}
});

关于javascript - 如何通过诺基亚 map 使用国家/地区代码设置国家/地区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com