Клуб API Карт

Особая карта

g29m62zb
9 ноября 2014, 11:35

Здравствуйте! Перерыл всё api и так до конца не нашёл, что мне надо: Вот пример: http://www.cars.ru/dealers/

Да, это гугл-карта, но смысл мне нужен такой же: мне на сайт автофирмы вбивают свои организации. И на карте появляются их метки. Эта кажется наззывается  Множественное геокодирование. Оно бывает на стороне клиента (что уменьшает скорость работы и шлёт кучу трафика для каждого объекта), и на стороне сервера. https://tech.yandex.ru/maps/doc/jsapi/2.0/dg/concepts/geocoding-docpage/ - вот - Геокодирование на стороне сервера. Ставим модуль npm install multi-geocoder и начинает паботать. Но постоц пример скрипта

, приведённый на яндексе:

 

 

var MultiGeocoder = require('multi-geocoder'),
geocoder = new MultiGeocoder({ coordorder: 'latlong', lang: 'ru-RU' });

geocoder.geocode([
'Москва, 1905 года ул., д.19',
'Москва, 1-ая Квесисская ул., д 18',
'Москва, 1-й Тверской-Ямской пер, д.16'
], {
// Описание объектов в ответе будет на алглийском языке,
// несмотря на то что параметр lang задан также в конструкторе MultiGeocoder.
lang: 'en-US'
})
.then(function (res) {
console.log(res);
});

 Ругается скрипт на строку var MultiGeocoder = require('multi-geocoder'), и ничего не получается. А должна карта появляться с 3 метками. Замучился уже. Никто не поможет?

 

 

4 комментария
Подписаться на комментарии к посту

 

var MultiGeocoder = require('multi-geocoder')

 

Вы это где вызываете? NodeJS установлен?

Сам модуль вы куда установили?

 

Я делаю так:

 

➜  ~  mkdir test && cd test➜  test  npm install multi-geocoder --savenpm WARN package.json cltags@0.0.2 No repository field.multi-geocoder@0.1.0 ../node_modules/multi-geocoder├── handy-http@1.0.0├── inherit@2.2.2├── vow@0.4.7├── vow-queue@0.3.1└── jspath@0.2.13# Копирую код примера в буфер и вставляю в файл test.js➜  test  pbpaste > test.js➜  test  node test.js{ result:   { type: 'FeatureCollection',     features: [ [Object], [Object], [Object] ] },  errors: [] }

 

 

Нечего не понял. pbpaste > test.js - что такое pbpaste?

Изначально непонятно вот что:

Для реализации геокодирования на серверной стороне разработан Node.js-модуль (multi-geocode), 

https://www.npmjs.org/package/multi-geocoder

 $ npm install multi-geocoder - и что, Node.JS установлен? А то на сайте всерху слева ссылка есть ещё на Node.JS, которая ведён на http://nodejs.org/

 

Мне что, качать и компилить этот Node.JS архив, или будет достаточно искользовать команду  $ npm install multi-geocoder и ничего качать ненадо? Тут я реально запутался.

test.js: 

var MultiGeocoder = require('multi-geocoder'),
geocoder = new MultiGeocoder({ provider: 'yandex', coordorder: 'latlong' });

geocoder.geocode(['Moscow', 'New York', 'Paris', 'London'])
.then(function (res) {
console.log(res);
});

 Далее:

bash-4.1$ node test.js
{ result:
{ type: 'FeatureCollection',
features: [ [Object], [Object], [Object], [Object] ] },
errors: [] }
bash-4.1$

 И что это? Я хочу вывести на карту метки всех 4-х городов (Moscow, NewYork, Paris, Longon). А мне шляпа какая-то в консоль выкидывается. Как мне этот JS привязать к HTML? В этом вся и проблема.

этот модуль предназначен для получения координат по списку адресов. Эти самые координаты потом должны быть положены БД (чтобы не геокодировать одно и то же) и уже из БД они попадают на клиента и отбражаются на карте. сам модуль геокодирования никакого html+js не выдает, да и не должен