Ich kann mir zwei mögliche Optionen vorstellen.
Zuerst sollten Sie die GeoLocation API als ceejayoz suggested betrachten. Dies ist sehr einfach zu implementieren und eine vollständig clientseitige Lösung. Um die Karte zu zentrieren GeoLocation verwenden, verwenden Sie einfach:
map.setCenter(new google.maps.LatLng(position.coords.latitude,
position.coords.longitude), 13);
... innerhalb des success()
Rückruf der getCurrentPosition()
Methode des GeoLocation.
Leider unterstützen derzeit nur wenige moderne Browser die GeoLocation API. Daher können Sie auch eine serverseitige Lösung in Betracht ziehen, um die IP-Adresse des Clients am Standort des Benutzers mithilfe eines Dienstes wie MaxMind's GeoLite City aufzulösen. Anschließend können Sie die Stadt und das Land des Nutzers im Browser mithilfe der Google Maps-API einfach geocodieren. Im Folgendes könnte ein kurzes Beispiel sein:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps API Geocoding Demo</title>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false"
type="text/javascript"></script>
</head>
<body onunload="GUnload()">
<div id="map_canvas" style="width: 400px; height: 300px"></div>
<script type="text/javascript">
var userLocation = 'London, UK';
if (GBrowserIsCompatible()) {
var geocoder = new GClientGeocoder();
geocoder.getLocations(userLocation, function (locations) {
if (locations.Placemark) {
var north = locations.Placemark[0].ExtendedData.LatLonBox.north;
var south = locations.Placemark[0].ExtendedData.LatLonBox.south;
var east = locations.Placemark[0].ExtendedData.LatLonBox.east;
var west = locations.Placemark[0].ExtendedData.LatLonBox.west;
var bounds = new GLatLngBounds(new GLatLng(south, west),
new GLatLng(north, east));
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
map.addOverlay(new GMarker(bounds.getCenter()));
}
});
}
</script>
</body>
</html>
einfach userLocation = 'London, UK'
mit der serverseitigen aufgelösten Adresse ersetzen. Nachstehend ist ein Screenshot aus dem obigen Beispiel:

Sie können die Markierung entfernen, indem die map.addOverlay(new GMarker(bounds.getCenter()));
Linie loszuwerden.
Die Geolocation-API ist die offensichtliche Antwort. Auch wenn die API verfügbar ist, kann es auf der Seite des Browsers einige Zeit dauern, um eine Standortkorrektur zu erhalten. In der Zwischenzeit müssen Sie dem Benutzer einen temporären Standort anzeigen und die Karte verschieben, sobald der Standort festgelegt wurde. Das klingt wie eine GUI-Herausforderung, damit es sich richtig anfühlt. Ich mag Daniel Vassallos Lösung, wenn ein ungefährer Standort akzeptabel ist. Das Verschieben der Karte nach dem Laden ist für mich fraglich. –