Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Небольшой JS + php (https://javascript.ru/forum/server/49796-nebolshojj-js-php.html)

lepeed 28.08.2014 16:06

Небольшой JS + php
 
Yii::import('ext.egmap.*');

$gMap = new EGMap();
$gMap->setWidth(870);
$gMap->setHeight(300);
$gMap->zoom = 5;
$sample_address = $model->adress;

// Create geocoded address
$geocoded_address = new EGMapGeocodedAddress($sample_address);
$geocoded_address->geocode($gMap->getGMapClient());

// Center the map on geocoded address
$gMap->setCenter($geocoded_address->getLat(), $geocoded_address->getLng());

// Add marker on geocoded address
$gMap->addMarker(
new EGMapMarker($geocoded_address->getLat(), $geocoded_address->getLng(), array('draggable'=>true))
);

$model->lat = $geocoded_address->getLat();
$model->lng = $geocoded_address->getLng();
$model->save();
$gMap->renderMap();

?>


Код записывает координаты широты и долготы соответвеснно в поля в бд lat и lng, все ок, как сделать чтобы при перетаскивании маркера, перезаписывались новые координаты?
Как вариант - создать скрытые поля в которые по JS прописывались координаты, как это сделать? помогите пожалуйста

nice_try 28.08.2014 18:29

у карты должны быть события типа dragEnd, egmap - это же гуглокарты?

google.maps.event.addListener(marker,'drag',function(event) {
        document.getElementById('lat').value = event.latLng.lat();
        document.getElementById('lng').value = event.latLng.lng();
    });

    google.maps.event.addListener(marker,'dragend',function(event) {
        document.getElementById('lat').value = event.latLng.lat();
        document.getElementById('lng').value = event.latLng.lng();
    });


Часовой пояс GMT +3, время: 22:49.