Один из вариантов - сначала попробовать геолокацию и позволить браузеру точно их определить. Если браузер не поддерживает геолокацию или возникает ошибка, вы можете вернуться к ним вручную, добавив их позицию.
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"
});
}