2015-03-18 2 views
-1

Я использую карты Google для получения координат от пользователя, и он отлично работает с перетаскиванием маркера, но мне нужно изменить его с помощью события click. Я попытался «нажмите» вместо «dragend» наGoogle Maps Нажмите Событие, чтобы переместить маркер

google.maps.event.addListener(marker, 'dragend', function(a) 

, который не работал

Мой код

var latlng = new google.maps.LatLng(<?php echo $villa['loc']; ?>); 
    var map = new google.maps.Map(document.getElementById('map'), { 
    center: latlng, 
    zoom: 5, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    title: 'move and pin exact point of your property', 
    draggable: true 
    }); 

    google.maps.event.addListener(marker, 'dragend', function(a) { 
    var result = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4); 
    $('#loc').val(result); 
    }); 

я получаю первую позицию маркера из БД. Пользователь может изменить позицию, перемещая маркер, и я получаю обновленный результат для записи в БД. Перетаскивание работает, но «Щелчок» - нет. Любая помощь приветствуется.

<script src="http://maps.google.com/maps/api/js?sensor=false"></script> 
+0

Там нет нажмите слушателем в публикуемую коде. – geocodezip

ответ

0

Найдено решение

 <script> 
    $(document).ready(function() { 

    var latlng = new google.maps.LatLng(<?php echo $villa['loc']; ?>); 
    var map = new google.maps.Map(document.getElementById('map'), { 
    center: latlng, 
    zoom: 12, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    title: 'move and pin exact point of your property', 
    draggable: true 
    }); 

    google.maps.event.addListener(marker, 'dragend', function(a) { 
    var sonuc1 = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4); 
    $('#loc').val(sonuc1); 
    }); 

       function placeMarker(location) { 
       if (marker) { 
       marker.setPosition(location); 
       } else { 
       marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       title: 'move and pin exact point of your property' 
       }); 
       } 
       } 

       google.maps.event.addListener(map, 'click', function(event) { 
       placeMarker(event.latLng); 
       var sonuc2 = event.latLng.lat().toFixed(4) + ', ' + event.latLng.lng().toFixed(4); 
       $('#loc').val(sonuc2); 
       }); 

    }); 


    $("#il").change(function() { 
    var val = $('#il option:selected').val(); 
    var sonuc3 = (val); 
    $('#sonucx').html(sonuc3); 
    var mappos = document.getElementById("il").options[document.getElementById("il").selectedIndex].getAttribute('latLng'); 
    var latlngStr = mappos.split(',', 2); 
    var lat = parseFloat(latlngStr[0]); 
    var lng = parseFloat(latlngStr[1]); 

    var latlng = new google.maps.LatLng(lat, lng); 
    var map = new google.maps.Map(document.getElementById('map'), { 
    center: latlng, 
    zoom: 12, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    title: 'pin exact point of your property', 
    draggable: true 
    }); 

    var sonuc4 = lat + "," + lng; 
    $('#loc').val(sonuc4); 

    google.maps.event.addListener(marker, 'dragend', function(a) { 
    var sonuc6 = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4); 
    $('#loc').val(sonuc6); 
    }); 

       function placeMarker(location) { 
       if (marker) { 
       marker.setPosition(location); 
       } else { 
       marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       title: 'move and pin exact point of your property' 
       }); 
       } 
       } 

       google.maps.event.addListener(map, 'click', function(event) { 
       placeMarker(event.latLng); 
       var sonuc5 = event.latLng.lat().toFixed(4) + ', ' + event.latLng.lng().toFixed(4); 
       $('#loc').val(sonuc5); 
       }); 



    }); 
    </script> 
Смежные вопросы