Это работает так. Карты Google спрашивают пользователя, хочет ли он поделиться своим местоположением, основываясь на том, поддерживает ли их браузер (или программа, использующая код карт Google) и реализует ли он интерфейс геолокации, который вы можете узнать больше о здесь, Если пользователь согласен поделиться своим местоположением, информация о локальных точках беспроводного доступа передается таким образом, чтобы карты Google (или другие службы) могли оценить местоположение пользователя. Это можно реализовать в ваших программах или на веб-страницах. Я не очень много знаю об использовании карт Google в программах, но что касается веб-страницы, вот пример того, что написано в javascript, который будет делать то, что вы ищете. Я уверен, что вы также можете сделать это в PHP.
<!DOCTYPE html>
<html>
<head>
<title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="UTF-8">
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css"
rel="stylesheet" type="text/css">
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
var map;
function initialize() {
var myOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
myOptions);
//this is the piece of code you are interested in!!
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var infowindow = new google.maps.InfoWindow({
map: map,
position: pos,
content: 'Location found using HTML5.'
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
} else {
handleNoGeolocation(false);
}
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}
var options = {
map: map,
position: new google.maps.LatLng(60, 105),
content: content
};
var infowindow = new google.maps.InfoWindow(options);
map.setCenter(options.position);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map_canvas"></div>
</body>
</html>
Обратитесь к справочнику API Google Maps здесь , чтобы узнать, как вы можете это использовать. Кроме того, ссылка на источник не заканчивается на "sensor = true". Важно, чтобы вы указали для этого значения значение true в своем источнике, если вы используете геолокацию.