通过NodeJs中的多地理编码器从Yandex Map API Geocoder获取坐标

编程入门 行业动态 更新时间:2024-10-09 12:34:47

通过NodeJs中的多地理<a href=https://www.elefans.com/category/jswz/34/1762206.html style=编码器从Yandex Map API Geocoder获取坐标"/>

通过NodeJs中的多地理编码器从Yandex Map API Geocoder获取坐标

我需要获取地址集的坐标才能在Yandex Map小部件上显示它们。地址很多,因此我将在nodejs服务器端获取坐标。我找到了软件包multi-geocoder,对我来说正是解决方案。因此,我编写了示例:

import MultiGeocoder from "multi-geocoder"

const geocoder = new MultiGeocoder({        
    provider: 'yandex',
    coordorder: 'latlong',
    lang: 'ru-RU',
    apikey: 'My API key from /'
});

geocoder.geocode(['Москва'], {
    apikey: 'My API key from /'
})
.then(function (res) {
    console.log(res);
});

我得到了答复:

{
   result: { type: 'FeatureCollection', features: [] },
   errors: [ { request: 'Москва', index: 0, reason: 'Forbidden' } ]
}

我假设apiKey出了点问题,但是无法弄清楚到底是什么。如何从Node.js脚本正确获取坐标?可能\合法吗?

谢谢。

回答如下:

如果API密钥有任何问题,请联系Yandex。地图支持。问题可能出在密钥本身或您的IP /域上。只有Yandex才能确定确切原因。

如果您需要将地址解析器中的点添加到地图中,那么在JS API中使用地理编码会更容易。简单地顺序处理地址数组的元素就足够了:

var searchArr = ['Москва, Фадеева, 5','Москва, Трубная, 31','Москва, Маросейка, 11'];

searchArr.forEach(function(item) {
    ymaps.geocode(item, {
    results: 1
}).then(function (res) {
        var firstGeoObject = res.geoObjects.get(0),
            coords = firstGeoObject.geometry.getCoordinates();
        myMap.geoObjects.add(firstGeoObject);
    });
});

如果您在Yandex地图上显示从数据中接收到的数据并遵循其他使用条款,则可以免费使用Yandex.Map API。如果必须至少满足其中一项条件,则应切换为商业许可证。在此处查看费用:https://tech.yandex/maps/tariffs/doc/jsapi/prices/index-docpage/

更多推荐

通过NodeJs中的多地理编码器从Yandex Map API Geocoder获取坐标

本文发布于:2024-05-13 11:02:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759455.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:编码器   坐标   地理   NodeJs   Yandex

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!