Клуб API Карт

Помогите со скриптом определения координат

Чапаев Сергей
3 февраля 2015, 21:50

Всем доброго времени суток.

Прошу вашей помощи в следующем.

Есть форма с полями:

<input type="text" id="lat">

<input type="text" id="lon">

<input type="text" id="zoom">

<input type="button" id="show_address" value="Показать адрес">

<input type="text" id="address">

а также карта 2.1

Как сделать на карте перемещающийся маркер, чтобы при его перемещении в укзанные выше поля вставлялись соответствующие данные?

 

Пример скрипта - http://u-karty.ru/opredelenie-koordinat-na-karte-yandex

Заранее благодарю.

 

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

Если у вас есть пример, посмотрите как в нем это сделано

Чапаев Сергей
4 февраля 2015, 07:01

В примере и lat и lon идут в одном поле, кроме того нет возможности показать адрес точки по координатами в отдельном поле. Если бы все было так просто, я бы не просил о помощи. В javascript я не разбираюсь.

Всеволод Шмыров
4 февраля 2015, 13:49
У вас как раз массив записывается в строчку.
    var new_coords = [coords[0].toFixed(4), coords[1].toFixed(4)];    
    myPlacemark.getOverlay().getData().geometry.setCoordinates(new_coords);
    document.getElementById("latlongmet").value = new_coords;
Просто записывайте каждый элемент массива в отдельный input.
http://javascript.ru/basic/array
Чапаев Сергей
4 февраля 2015, 14:31

Можете помочь с разбором? Я полный лузер в Javascript...:-(

Всеволод Шмыров
4 февраля 2015, 14:34
Прости, но это совсем элементарный вопрос никак не связанный с API. Вы хотя бы попробывали бы разобраться. В конечно итоге у вас что-то похожее на

document.getElementById("latmet").value = coords[0].toFixed(4);
document.getElementById("longmet").value = coords[1].toFixed(4);
получиться.
Чапаев Сергей
4 февраля 2015, 14:35

Вы правы, сори. Кстати, я так пробовал...

Чапаев Сергей
4 февраля 2015, 14:46

Спасибо, разобрался, дошло. Вопрос второй. Как мне найденный адрес добавить в поле input?

Всеволод Шмыров
4 февраля 2015, 14:50
В какой input? В ваш или в наш контрол?
Чапаев Сергей
4 февраля 2015, 14:50

в мою форму для добавления в базу

 

Всеволод Шмыров
4 февраля 2015, 14:57
Информацию о найденных объектах можно получить через метод getResultsArray у searchControl. А дальше по аналогии с координатами находите элемент на странице и меняете ему свойство "value'.
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/control.SearchControl-docpage/#getResultsArray
Чапаев Сергей
4 февраля 2015, 15:13

ок, спасибо