30.11.2017, 02:36
|
Новичок на форуме
|
|
Регистрация: 30.11.2017
Сообщений: 3
|
|
Google Maps API
Всем привет, такой вопрос
есть скрипт
<script>
function initMap() {
var centerLatLng = new google.maps.LatLng(53.907761, 27.567160);
var mapOptions = {
center: centerLatLng, // Координаты центра мы берем из переменной centerLatLng
zoom: 12 // Зум по умолчанию. Возможные значения от 0 до 21
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: centerLatLng,
map: map,
draggable:true,
title:"Drag me!"
});
}
google.maps.event.addDomListener(window, "load", initMap);
</script>
Есть код отправки данных на сервер:
<form action="Controller" method="post">
<input type="hidden" name="method" value = "callTaxi">
<input type="hidden" name="position" value="">
<button type="submit">Заказать такси</button>
</form>
как из скрипта вытащить позицию маркера и засунуть его в запрос?
|
|
30.11.2017, 10:21
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
JeeOpp, Может так?
<form action="Controller" method="post">
<input type="hidden" name="method" value = "callTaxi">
<input type="hidden" name="position" value="">
<button type="submit">Заказать такси</button>
</form>
<script>
var centerLatLng=[53.907761, 27.567160];
document.querySelector('input[name="position"]').value=centerLatLng.join(',');
function initMap() {
var centerLatLng = new google.maps.LatLng(centerLatLng.join(', '));
var mapOptions = {
center: centerLatLng, // Координаты центра мы берем из переменной centerLatLng
zoom: 12 // Зум по умолчанию. Возможные значения от 0 до 21
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: centerLatLng,
map: map,
draggable:true,
title:"Drag me!"
});
}
google.maps.event.addDomListener(window, "load", initMap);
</script>
|
|
30.11.2017, 10:26
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Nexus,
но если в скрипте явно указывается значение переменной, то зачем же так напрягаться, их можно сразу таким же образом в форме прописать так ведь? Другой вопрос, это выбор координат пользователем и этот выбор в форму, но данного в коде не наблюдается и вопросом не оговаривается. )
|
|
30.11.2017, 10:37
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
laimas,
Сообщение от laimas
|
но если в скрипте явно указывается значение переменной, то зачем же так напрягаться, их можно сразу таким же образом в форме прописать так ведь?
|
Риторический вопрос?)
|
|
30.11.2017, 10:49
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Nexus
|
Риторический вопрос?
|
Зачем отправлять на сервер координаты центра карты при ее инициализации? А уже если так надо (не понять зачем), то заглянули в скрипт, посмотрели их, и прописали в форме стразу. )
|
|
30.11.2017, 10:59
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
Сообщение от laimas
|
Другой вопрос, это выбор координат пользователем и этот выбор в форму, но данного в коде не наблюдается и вопросом не оговаривается. )
|
Таки нет, в переменную "marker" записывается созданный экземпляр маркера, этот экземпляр сразу размещается на карте, если в опциях передано свойство "map".
|
|
30.11.2017, 11:07
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
var centerLatLng = new google.maps.LatLng(53.907761, 27.567160);
Это вы отправляете на сервер, а оно прописано явно, что не мешает сделать тоже самое и в форме. Что там далее происходит не важно. Если сервер задает координаты, размещая карту, то тем более серверу ничего не нужно, он и так знает. Разве это не странно?
|
|
30.11.2017, 11:27
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
laimas, обратите внимание на параметры маркера, его можно перемещать)
|
|
30.11.2017, 11:55
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Nexus
|
обратите внимание на параметры маркера, его можно перемещать
|
Ну так за этим и нужно следить и установленные координаты передавать в форму, где это? )
|
|
30.11.2017, 12:16
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
laimas, стыдно признавать, но я не смог найти адекватной документации к api google maps.
Вероятно на маркер можно повесить обработчик события "drag", но как получить координаты центра маркера...
У api yandex maps доки куда приличнее, даже не ожидал такого.
|
|
|
|