Клуб API Карт

аргумент getDistance адресом

flancejob
13 мая 2013, 21:47

Добрый день.

В ЯКартах много нелогичного.

Почему метод ymaps.route поддерживает в качестве аргументов и координаты вида [x, y] и адрес типа "Аничков мост"

а ymaps.coordSystem.geo.getDistance в качестве аргументов принимает только координаты.

У меня пользователь вводит адрес. Как мне узнать координаты?

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

 

В ЯКартах много нелогичного.

Вы пишете на АПИ два с половиной дня  и лучше бы не позорились с подобными умозаключениями, а внимательней читали документацию на этот метод, ссылку на которую я давал Вам в другом посте

 

Там даже пример кода именно для вашего случая приведен:

 

// Рассчитаем расстояние между Москвой и Нью-Йорком// Координаты Москвыymaps.geocode('Москва').then(function (res) {    var moscowCoords = res.geoObjects.get(0).geometry.getCoordinates();    // Координаты Нью-Йорка    ymaps.geocode('Нью-Йорк').then(function (res) {        var newYorkCoords = res.geoObjects.get(0).geometry.getCoordinates();        // Расстояние        alert(ymaps.formatter.distance(            ymaps.coordSystem.geo.getDistance(moscowCoords, newYorkCoords)));    });});

 

 

Почему метод ymaps.route поддерживает в качестве аргументов и координаты вида [x, y] и адрес типа "Аничков мост"

JFYI

Процесс превращения текстового адреса в координаты называется "геокодирование" и реализуется путем HTTP-запроса к серверу Яндекса,

Сервис маршрутизации также реализован посредством HTTP-запроса,

поэтому встроить в него геокодирование - вполне логичный шаг.

Если все функции АПИ и в частности getDistance будут ходить по http - это будет самое медленное АПИ на свете.

ну вы уж строги ко мне, бабушка :)

 

спасибо