Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2017, 02:36
Новичок на форуме
Отправить личное сообщение для JeeOpp Посмотреть профиль Найти все сообщения от JeeOpp
 
Регистрация: 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>


как из скрипта вытащить позицию маркера и засунуть его в запрос?
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2017, 10:21
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 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>
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2017, 10:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Nexus,
но если в скрипте явно указывается значение переменной, то зачем же так напрягаться, их можно сразу таким же образом в форме прописать так ведь? Другой вопрос, это выбор координат пользователем и этот выбор в форму, но данного в коде не наблюдается и вопросом не оговаривается. )
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2017, 10:37
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

laimas,
Сообщение от laimas
но если в скрипте явно указывается значение переменной, то зачем же так напрягаться, их можно сразу таким же образом в форме прописать так ведь?
Риторический вопрос?)
Ответить с цитированием
  #5 (permalink)  
Старый 30.11.2017, 10:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
Риторический вопрос?
Зачем отправлять на сервер координаты центра карты при ее инициализации? А уже если так надо (не понять зачем), то заглянули в скрипт, посмотрели их, и прописали в форме стразу. )
Ответить с цитированием
  #6 (permalink)  
Старый 30.11.2017, 10:59
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от laimas
Другой вопрос, это выбор координат пользователем и этот выбор в форму, но данного в коде не наблюдается и вопросом не оговаривается. )
Таки нет, в переменную "marker" записывается созданный экземпляр маркера, этот экземпляр сразу размещается на карте, если в опциях передано свойство "map".
Ответить с цитированием
  #7 (permalink)  
Старый 30.11.2017, 11:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var centerLatLng = new google.maps.LatLng(53.907761, 27.567160);

Это вы отправляете на сервер, а оно прописано явно, что не мешает сделать тоже самое и в форме. Что там далее происходит не важно. Если сервер задает координаты, размещая карту, то тем более серверу ничего не нужно, он и так знает. Разве это не странно?
Ответить с цитированием
  #8 (permalink)  
Старый 30.11.2017, 11:27
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

laimas, обратите внимание на параметры маркера, его можно перемещать)
Ответить с цитированием
  #9 (permalink)  
Старый 30.11.2017, 11:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
обратите внимание на параметры маркера, его можно перемещать
Ну так за этим и нужно следить и установленные координаты передавать в форму, где это? )
Ответить с цитированием
  #10 (permalink)  
Старый 30.11.2017, 12:16
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

laimas, стыдно признавать, но я не смог найти адекватной документации к api google maps.
Вероятно на маркер можно повесить обработчик события "drag", но как получить координаты центра маркера...
У api yandex maps доки куда приличнее, даже не ожидал такого.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Maps API, как добавить текст к маркеру? drpozitiff Библиотеки/Тулкиты/Фреймворки 9 05.09.2016 11:35
Как отобразить созданный маршрут в api google maps на Гугл карты Yaros111 Events/DOM/Window 1 20.03.2015 07:42
Расчет стоимости доставки с помощью Google maps API DynkanMaclaud Работа 2 02.02.2015 18:50
проблемы с Google Maps API autocomplite и angularjs Denis94 Angular.js 6 01.12.2014 18:17
API Google Maps vs API Context 2d (элемент canvas) ste4kin Ваши сайты и скрипты 3 24.07.2014 17:06