5

showPostion function dönüş değerleri initialize'a nasıl aktarılır. Bu komut dosyasının amacı, GoogleMap’i kullanıcının geçerli konumuyla göstermek.Coğrafi konumlu Google Haritalar API'sı (kullanıcının geçerli konumu) HTML5 konum belirleme javascript ile nasıl başlatılır?

aşağıdaki betik içindeki açıklamalara bakınız: Ben en iyi yolu bilinen yok ama 2 konumlandıran almak için sıranızı bölünmüş Daha

function showPosition(position) { 
      var latitude = position.coords.latitude; 
      var longitude = position.coords.longitude; 

      return latitude.concat(';',longitude); 
     } 

ayrıştırmak olabilir

<head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <style type="text/css"> 
     html { height: 100% } 
     body { height: 100%; margin: 0; padding: 0 } 
     #map-canvas { height: 100% } 
    </style> 
    <script type="text/javascript" 
      src="https://maps.googleapis.com/maps/api/js?<%= API_KEYS['google']['api_key'] %>&sensor=true"> 
    </script> 

    <script type="text/javascript"> 

     function getLocation(){ 
      { 
       if (navigator.geolocation) 
       { 
        navigator.geolocation.getCurrentPosition(showPosition); 
       } 
       else{x.innerHTML="Geolocation is not supported by this browser.";} 
      } 

     } 

     function showPosition(position) { 
      var latitude = position.coords.latitude; 
      var longitude = position.coords.longitude; 
      alert('latitude:' + latitude + 'longitude:' + longitude) 

     // This function is supposed to return the current latitude and longitude of user 
     // example: 48.1673341, 17.0830998 
     } 


     function initialize() { 

      var mapOptions = { 


     // How to pass the result from function showPosition to LatLng ? 
     // see the line below:     
     center: new google.maps.LatLng(48.1673341,17.0830998), 
       zoom: 13, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      var map = new google.maps.Map(document.getElementById("map-canvas"), 
        mapOptions); 

     } 

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

    $(document).ready(function(){  // events before the windows loads 
    getLocation(); 
    }); 


    </script> 
</head> 


<h3>Hello from Google maps </h3> 


<div id="map-canvas"/> 

cevap

3

Çözüm google.maps.LatLng class kullanıpçağırmaktır Bu nesne 10 ve lng() yöntem aşağıdaki gibi:

lat() number Returns the latitude in degrees. 
lng() number Returns the longitude in degrees. 

function getLocation(){ 

     { 
      if (navigator.geolocation) 

      { 

       var options = { 
        enableHighAccuracy: true, 
        timeout: 5000, 
        maximumAge: 0 
       }; 

       navigator.geolocation.getCurrentPosition(success, error,options); 
      } 

      else 

      { x.innerHTML= "Geolocation is not supported by this browser."; } 
     } 

    } 

    function error(e) { 

    console.log("error code:" + e.code + 'message: ' + e.message); 

    } 

    function success(position) { 
    var lat = position.coords.latitude; 
    var lng = position.coords.longitude; 

    var myLocation = new google.maps.LatLng(lat, lng); 


    var mapOptions = { 
      center: new google.maps.LatLng(myLocation.lat(),myLocation.lng()), 
      zoom: 13, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

     var map = new google.maps.Map(document.getElementById("map-canvas"), 
       mapOptions); 


     var marker = new google.maps.Marker({ 
      position: myLocation, 
      map: map, 
      title:"you are here" 
     }); 

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

0

enlem ve boylam

var position = showPosition(position); 
position = position.split(';'); 

// position[0] -> latitude 
// position[1] -> longitude 
İlgili konular