2016-03-28 20 views
0

Bu image numaralı telefonu ziyaret edin.Yön, şu anki konumunu ve bulunduğu yeri göstermiyor

Geçerli konumumu hedefe göstermeye çalışıyorum ancak yön haritada gösterilmiyor, yalnızca rotayı yalnızca panelde gösteriyor.

navigator.geolocation.getCurrentPosition(function (position) { 
     var latitude = position.coords.latitude; 
     var longitude = position.coords.longitude; 
     var coords = new google.maps.LatLng(latitude, longitude); 
     var directionsService = new google.maps.DirectionsService; 
     var directionsDisplay = new google.maps.DirectionsRenderer({ 
      draggable: true, 
      map: map, 
      panel: document.getElementById('right-panel') 
     }); 
     var trafficLayer = new google.maps.TrafficLayer(); 
     var mapOptions = 
     { 
      zoom: 15, 
      center: coords 
     }; 

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

     displayRoute(directionsService, directionsDisplay); 


     function displayRoute(service, display) { 
      service.route({ 
       origin: coords, 
       destination: new google.maps.LatLng(5.409722, 100.313319), 
       provideRouteAlternatives: true, 
       travelMode: google.maps.TravelMode.DRIVING 
      }, function (response, status) { 
       if (status === google.maps.DirectionsStatus.OK) { 
        display.setDirections(response); 
       } else { 
        alert('Could not display directions due to: ' + status); 
       } 
      }); 
     } 
    }); 

Harita, geçerli konumumdan hedefime olan yönü göstermiyor.

+0

android bu şeyi yapıyorlar? –

cevap

0

google.maps.DirectionsRenderer numaralı ürününüzü oluşturduğunuzda, harita açık değildir. Haritadan sonra google.maps.DirectionsRenderer'u oluşturun ya da harita tanımlandıktan sonra .setMap numaralı telefonu arayın.

var coords = new google.maps.LatLng(latitude, longitude); 
    var directionsService = new google.maps.DirectionsService; 
    var trafficLayer = new google.maps.TrafficLayer(); 
    var mapOptions = { 
    zoom: 15, 
    center: coords 
    }; 

    var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
    var directionsDisplay = new google.maps.DirectionsRenderer({ 
    draggable: true, 
    map: map, 
    panel: document.getElementById('right-panel') 
    }); 
    displayRoute(directionsService, directionsDisplay); 

proof of concept fiddle

kod parçacığı:

var geocoder; 
 
var map; 
 
// [ 0 ]: Tapah, Perak, Malaysia (4.19773, 101.261529) 
 

 
function initialize() { 
 
    var latitude = 4.19773; 
 
    var longitude = 101.261529; 
 
    var coords = new google.maps.LatLng(latitude, longitude); 
 
    var directionsService = new google.maps.DirectionsService; 
 
    var trafficLayer = new google.maps.TrafficLayer(); 
 
    var mapOptions = { 
 
    zoom: 15, 
 
    center: coords 
 
    }; 
 

 
    var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
 
    var directionsDisplay = new google.maps.DirectionsRenderer({ 
 
    draggable: true, 
 
    map: map, 
 
    panel: document.getElementById('right-panel') 
 
    }); 
 
    displayRoute(directionsService, directionsDisplay); 
 

 

 
    function displayRoute(service, display) { 
 
    service.route({ 
 
     origin: coords, 
 
     destination: new google.maps.LatLng(5.409722, 100.313319), 
 
     provideRouteAlternatives: true, 
 
     travelMode: google.maps.TravelMode.DRIVING 
 
    }, function(response, status) { 
 
     if (status === google.maps.DirectionsStatus.OK) { 
 
     display.setDirections(response); 
 
     } else { 
 
     alert('Could not display directions due to: ' + status); 
 
     } 
 
    }); 
 
    } 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="map"></div> 
 
<div id="right-panel"></div>

+0

Çok teşekkür ederim. – Jason

İlgili konular