2013-06-29 13 views
28

Ho guardato alle varie volte che questa domanda è stata fatta ma non riesco a capire dove sto andando male, ecco il mio codice:API di Google Maps - Mappa centrale sulla posizione corrente del cliente

<html> 
<head> 
    <title> Map </title> 
    <style> 
     html, body, #map-canvas { 
     margin: 0; 
     padding: 0; 
     height: 500px; 
     width: 800px;} 
    </style> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> 
    <script> 
     var map; 
     function initialize() 
     { 
      var myLatlng1 = new google.maps.LatLng(53.65914, 0.072050); 

      var mapOptions = 
      { 
       zoom: 10, 
       center: myLatlng1, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      var map = new google.maps.Map(document.getElementById('map-canvas'), 
      mapOptions); 


      <?php 
       $sql = mysql_query("SELECT * FROM data ORDER BY ID DESC"); 
       while($row =mysql_fetch_array($sql)) 
       { 
        $desc = $row['DESCRIPTION']; 
        $location = $row['LOCATION']; 
        $counter += 1; 
       ?> 

      var marker = new google.maps.Marker({ 
       position: new google.maps.LatLng(<?php echo $location; ?>), 
       map: map, 
       title: '<?php echo $desc; ?>', 
       icon: '/image/cam.png' 
      }); 

      navigator.geolocation.getCurrentPosition(showPosition); 
     } 

     var showPosition = function (position) 
      { 
       map.setCenter(new google.maps.LatLng(position.coords.latitude, position.coords.longitude), 16); 

      } 

     google.maps.event.addDomListener(window, 'load', initialize); 

    </script> 
</head> 

Inizialmente imposta il centro su myLatlng1 e il codice in basso per impostarlo sulla posizione corrente dell'utente non fa nulla, nessuna idea?

Grazie in anticipo.

+0

https://github.com/onury/geolocator individua la posizione dell'utente e crea automaticamente una mappa con un indicatore centrato. –

risposta

79

provare a utilizzare il codice sottostante per ottenere la posizione corrente dell'utente (geolocalizzazione):

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function (position) { 
     initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
     map.setCenter(initialLocation); 
    }); 
} 

Per mostrare un esempio, ho rimosso il codice php. Controlla questo JSFiddle

Spero tu capisca.

+1

Grazie per il tuo pezzo di codice. Mi ha davvero aiutato – Dibish

+1

grazie bro molto utile avere i miei mi piace quindi –

+1

funziona molto bene .. grazie caro :) –

Problemi correlati