如何使用诺基亚地图的国家代码设置国家?

How can I set a country using a Country Code with Nokia Maps?

本文关键字:国家 代码 设置 何使用 诺基亚 地图      更新时间:2023-09-26

我读到你可以使用国家代码搜索一个国家(我尝试过用诺基亚在这里它是美妙的),从我的国家的代码是"SV"(我来自萨尔瓦多),但我不知道如何实现。我在API指南中找到了这些代码:Interface nokia.maps.search。地址,但他们没有任何例子。

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

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
});

这将找到世界上最大的城市叫做BERLIN,即德国的城市。

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

var address = new Object();
address.countryCode = "USA";
address.city = "Berlin";
nokia.places.search.manager.geoCode({
    address: address,
    onComplete: processResults
});

这将找到美国新罕布什尔州的柏林市。address对象可以保存address

中描述的任何属性。

关于缩放到一个国家-这实际上是一种findPlaces搜索-您正在寻找带有国家名称的行政区域的地方搜索的第一个(即最重要的)结果。下面的代码将缩放到El Salvador:

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
        }
    }
});