Как позволить пользователю указать свою позицию в моем приложении Google Maps? - PullRequest
3 голосов
/ 03 ноября 2010

Я хочу, чтобы пользователь пометил свою позицию в нашем приложении Google Maps, а затем сохранил ее в нашей базе данных, после чего она может быть показана в нашем приложении Google Maps в следующий раз.

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Один из вариантов - сначала попробовать геолокацию и позволить браузеру точно их определить. Если браузер не поддерживает геолокацию или возникает ошибка, вы можете вернуться к ним вручную, добавив их позицию.

var geolocation = null; // holds the latlng object
navigator.geolocation.getCurrentPosition( geolocation_success_init, geolocation_error_init, {enableHighAccuracy: false, timeout: 10000} );

function geolocation_success_init( position ) {
    geolocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
    initialize_map();
}
function geolocation_error_init( error ){
    initialize_map();
}

при создании карты проверьте геолокацию

if ( geolocation ) {
    marker = new google.maps.Marker({
        position: geolocation,
        map:.map,
        title: "Your Location"
    });
}
1 голос
/ 03 ноября 2010

Если вы хотите сохранить позицию, на которой щелкнул пользователь, вы можете использовать слушатель «щелчка», чтобы получить широту и долготу клика с таким кодом, а затем отправить его на свой сервер, используя вызов в стиле Ajax, где он может хранится в базе данных.

var clickListener = GEvent.addListener(map,"click",
    function (overlay,latlng,overlaylatlng) {
        alert(latlng);
});

Этот код предназначен для v2 API Карт Google. Версия 3 должна иметь что-то похожее.

...