Показать сообщение отдельно
  #1 (permalink)  
Старый 21.11.2016, 16:58
Новичок на форуме
Отправить личное сообщение для antonpavlov1982 Посмотреть профиль Найти все сообщения от antonpavlov1982
 
Регистрация: 21.11.2016
Сообщений: 3

карта гугл marker click
карта гугл где пользователи могут устанавливать координаты, стаит драгабле пин , не очень удобно перетаскивать пин, да и пользователи всегда кликают и не понимают что пин нужно тянуть скажите как поменять draggable на клик ( что бы при клике на нужно место устанавливался пин).
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script type="text/javascript">
var address;
var geocoder;
var map;
var marker
var x=25.215825;
var y=55.273611;

<?
if($_GET['adr'])
echo "\n address='".urldecode($_GET['adr'])."';";
else
echo "\n address='Dubai';";
?>


// Карта + передвижной маркер с обновлением координат
function initialize() {
//geocoder = new google.maps.Geocoder();
   var myLatlng = new google.maps.LatLng(x,y);
   var myOptions = {
     zoom: 12,
     center: myLatlng,
     mapTypeId: google.maps.MapTypeId.HYBRID
   }
   document.getElementById('spot-lat').value = x.toFixed(4);
   document.getElementById('spot-longi').value = y.toFixed(4);

   map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
   
   
   //Добавляем маркер
   marker = new google.maps.Marker({
       position: myLatlng,
       map: map,
      draggable:true,
     
    // drop:true,
   });
   google.maps.event.addListener(
       marker,
       'drag',
       
       
       
       
       
       function() {
           document.getElementById('spot-lat').value = marker.position.lat().toFixed(4);
           document.getElementById('spot-longi').value = marker.position.lng().toFixed(4);
       }
   );
   
showAddress(address);
}


// Определяем местоположение по адресу
function showAddress(address) {
   geocoder.geocode( { 'address': address}, function(results, status) {
	if (status == google.maps.GeocoderStatus.OK) {
		map.setCenter(results[0].geometry.location);
		marker.position=results[0].geometry.location;
           document.getElementById('spot-lat').value = marker.position.lat().toFixed(4);
           document.getElementById('spot-longi').value = marker.position.lng().toFixed(4);
		} else {
		alert("Ups something wrong: " + status);
		}
   });
}

 
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 ();
	}


</script>
Ответить с цитированием