Index: gmap_location.module
===================================================================
--- gmap_location.module	(revision 513)
+++ gmap_location.module	(working copy)
@@ -96,10 +96,20 @@
 /**
  * Draws a page with a google map that has all of the site users.
  */
-function gmap_location_user_page() {
+function gmap_location_user_page($uid = NULL) {
   $markertypes = variable_get('gmap_role_markers', array(DRUPAL_AUTHENTICATED_RID => 'drupal'));
   $usermap = variable_get('gmap_user_map', _gmap_location_user_map_defaults());
   $map = array_merge(gmap_defaults(), gmap_parse_macro($usermap['macro']));
+
+  // Center around user if present and has coordinates
+  if (isset($uid)) {
+    $account = user_load($uid);
+    if (!empty($account->location['latitude']) && !empty($account->location['longitude'])) {
+      $map['longitude'] = $account->location['longitude'];
+      $map['latitude'] = $account->location['latitude'];
+    }
+  }
+
   $mode = $usermap['markermode'];
   $map['rmtcallback'] = url('map/user/load');
   $map['markermode'] = $usermap['markermode'];
@@ -152,6 +152,7 @@
 
     // Users with the 'user locations' permission are allowed to see who
     // each marker represents.
+    $newmarker = array();
     if (user_access('user locations')) {
       if ($mode == 1) {
         $newmarker['rmt'] = $row->uid;
@@ -159,6 +169,11 @@
       $newmarker['longitude'] = $row->longitude;
       $newmarker['markername'] = $marker;
     }
+
+    if (isset($uid) && $uid == $row->uid) {
+      $newmarker['autoclick'] = TRUE;
+    }
+
     $map['markers'][] = $newmarker;
   }
 
