Перейти к содержимому



Карта Яндекс не могу довести до должного уровня.

#1 РОМ710
РОМ710
  • Пользователь
  • 21 сообщений
  • Репутация: 2
0

Обновлено 09 января 2020 - 10:24  Отправлено 03 января 2020 - 20:07

<html>
<head>
<title>Инструмент для определения координат - API Яндекс.Карт 2.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://api-maps.yandex.ru/2.1/?apikey=&lang=ru_RU" type="text/javascript">
    </script>
<link rel="stylesheet" type="text/css" href="../style/style.css" />
    <style>
      html, body, #YMapID {
        margin: 0;
        padding: 0;
        height: 100%;
      }
	  #coord_form{
		position: absolute;
		z-index: 1000;
		background: none repeat scroll 0% 0% rgb(255, 255, 255);
		list-style: none outside none;
		border: solid 1px #999999; 
		padding: 10px;
		margin: 0px;
		right: 5px;
		top: 180px;
	  }
	  .input-medium {
	  width:120px;
	  margin-top: 5px;
	  margin-bottom: 5px;
	  }
	  .sp {
	  color:#990000;
	  }
    </style>
    <script type="text/javascript">
	var myMap, myPlacemark, adr, coords;
	var index;
	<?
	if($_GET['adr'])
	echo "\n adr='".urldecode($_GET['adr'])."';";
	else
	echo "\n adr='Moscow';";
	?>
// Как только будет загружен API и готов DOM, выполняем инициализацию
        ymaps.ready(init);
        function init () {
            // Поиск координат центра 
            ymaps.geocode(adr, { results: 1 }).then(function (res) {
                // Выбираем первый результат геокодирования
                var firstGeoObject = res.geoObjects.get(0);
                // Создаём карту.
                // Устанавливаем центр и коэффициент масштабирования.
                window.myMap = new ymaps.Map("YMapID", {
                    center: firstGeoObject.geometry.getCoordinates(),
                    zoom: 14
                });
			var SearchControl = new ymap.control.SearchControl({myPlacemark:true});	
			//Добавляем элементы управления	
			myMap.controls
				.add(SearchControl)                
            // Кнопка изменения масштаба
            .add('zoomControl')
			// Список типов карты
			.add('typeSelector');
			coords=firstGeoObject.geometry.getCoordinates();
			document.getElementById("spot-lat").value = coords[0].toFixed(4);	
			document.getElementById("spot-longi").value = coords[1].toFixed(4);	
			myPlacemark = new ymaps.Placemark(coords,{}, {preset: "twirl#redIcon", draggable: true});	
			myMap.geoObjects.add(myPlacemark);			
			//Отслеживаем событие перемещения метки
			myPlacemark.events.add("dragend", function (e) {			
				coords = this.geometry.getCoordinates();
				savecoordinats();
			}, myPlacemark);
			//Отслеживаем событие выбора результата поиска
			SearchControl.events.add("resultselect", function (e) {
				index=SearchControl.getSelectedIndex();
				coords = SearchControl.getResultsArray()[index].geometry.getCoordinates();
				savecoordinats();
				//control.SearchControl.close();
			});
            }, function (err) {
                // Если геокодирование не удалось,
                // сообщаем об ошибке
                alert(err.message);
            })
   	 }
	function savecoordinats (){	
		var new_coords = [coords[0].toFixed(4), coords[1].toFixed(4)];	
		myPlacemark.getOverlay().getData().geometry.setCoordinates(new_coords);
		var center = myMap.getCenter();
		var new_center = [center[0].toFixed(4), center[1].toFixed(4)];	
		var new_center_x = [coords[0].toFixed(4)];	
		var new_center_y = [coords[1].toFixed(4)];	
		document.getElementById("spot-lat").value = new_center_x;	
		document.getElementById("spot-longi").value = new_center_y;	
	}
	function save_address() {
		var x = document.getElementById('spot-lat').value; 
		var y = document.getElementById('spot-longi').value; 
		window.opener.document.getElementById('map_x').value = x; 
		window.opener.document.getElementById('map_y').value = y; 
		self.close ();
myPlacemark = new ymap.Placemark([43.238253,76.945465], { // Координаты метки объекта
			balloonContent: "<div class='YMapID'>b2</div>" // Подсказка метки
		}, {
			preset: "twirl#redDotIcon" // Тип метки
		});
 myMap.geoObjects.add(myPlacemark); // Добавление метки
 myPlacemark.balloon.open(); // Открытие подсказки метки
 };
    </script>
</head>
<body>
<div id="YMapID" style="width:1220px; height:620px; border:1px solid #000000"></div>
<div id="coord_form">
		<form name="form2" action="#" onsubmit="save_address(); return false">
			Широта <br />
			<input readonly="1" class="input-medium"  name="lat" id="spot-lat" value="<?=$x?>" /><br />
			Долгота <br />
			<input readonly="1" class="input-medium"  name="longi" id="spot-longi" value="<?=$y?>" /><br />
			<span class=sp>
			После <br />установки<br />маркера <br />сохраните<br /> изменения
			</span>
			<br />
			<input class="submit" type="submit" name="submit2" value="Сохранить" />
		</form>
</div>
</body>
</html>

Здравствуйте. С Новым Годом.  Делаю Яндекс карту у себя на сайте,  Делаю по урокам в интернете. Карта выводится в нужном месте, как указано в форме подачи объявлений. Но не выводится маркер и карта не сохраняется в объявлении пользователя. Честно говоря уже сам запутался, понимаю, что нагородил. Может кто поможет на ваших условиях ?


 

 

  • 0

#2 РОМ710
РОМ710
    Topic Starter
  • Пользователь
  • 21 сообщений
  • Репутация: 2

Отправлено 08 января 2020 - 08:29

Все, тема закрыта - сам разобрался и сделал.


  • 0

#3 BLIK
BLIK
  • Супермодератор
  • 4 701 сообщений
  • Репутация: 1072

Отправлено 08 января 2020 - 12:13

Все, тема закрыта - сам разобрался и сделал.

Вы бы написали, как решили вопрос, в теме ответов нет, возможно и другим пригодится ваше решение. 


  • 0

Качественный хостинг   Тут может быть ваша ссылка.



#4 РОМ710
РОМ710
    Topic Starter
  • Пользователь
  • 21 сообщений
  • Репутация: 2

Отправлено 09 января 2020 - 10:24

Да особо то хвалится не чем, перешёл на старую версию 2.0 Api Яндекс карт, там немного проще оказалось в моей ситуации.  Сейчас работает, а дальше будет пробовать переписывать код, что бы обновить до версии 2.1


  • 1



Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
albedo albedo 1-й за Май
Очков активности: 198 5 тем, 29 сообщений, 3 балла репутации
Сайт: online24news.ru
ТОП самых активных за этот месяц
  • Фотография maks200
    #1

    maks200
    Очков активности: 6 1 тема, 1 сообщение, 1 балл репутации

  • Фотография NewBlade
    #2

    NewBlade
    Очков активности: 6 1 тема, 1 сообщение, 1 балл репутации

  • Фотография magnet
    #3

    magnet (rbfxdirect.com)
    Очков активности: 4.5 1 тема, 0 сообщений, 1 балл репутации

  • Фотография Movut
    #4

    Movut (seo-aspirant.ru)
    Очков активности: 4.5 1 тема, 0 сообщений, 1 балл репутации

  • Фотография Zevss
    #5

    Zevss (domles43.ru)
    Очков активности: 4.5 1 тема, 0 сообщений, 1 балл репутации

  • Фотография 1head
    #6

    1head
    Очков активности: 4.5 1 тема, 0 сообщений, 1 балл репутации

  • Фотография Nik_2266999
    #7

    Nik_2266999
    Очков активности: 3 0 тем, 2 сообщения, 1 балл репутации

  • Фотография wp01
    #8

    wp01
    Очков активности: 3 0 тем, 2 сообщения, 1 балл репутации

  • Фотография getsend
    #9

    getsend
    Очков активности: 3 0 тем, 2 сообщения, 1 балл репутации

  • Фотография Constantine
    #10

    Constantine (constantine174.blogspot.com)
    Очков активности: 3 0 тем, 2 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru