2010-11-12 156 views
4

我有纬度/经度为2个地方。如何从google maps api获取路线? 我想显示地图和方向文本。谷歌地图方向使用纬度/经度

+1

http://code.google.com/apis/maps/documentation/directions/ – 2010-11-12 10:36:59

回答

11
<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
    var directionDisplay; 
    var directionsService = new google.maps.DirectionsService(); 
    var map; 

    function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer(); 
    var myOptions = { 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    directionsDisplay.setMap(map); 

    var start = '37.7683909618184, -122.51089453697205'; 
    var end = '41.850033, -87.6500523'; 
    var request = { 
     origin:start, 
     destination:end, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 
    directionsService.route(request, function(response, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(response); 
     var myRoute = response.routes[0]; 
     var txtDir = ''; 
     for (var i=0; i<myRoute.legs[0].steps.length; i++) { 
      txtDir += myRoute.legs[0].steps[i].instructions+"<br />"; 
     } 
     document.getElementById('directions').innerHTML = txtDir; 
     } 
    }); 
    } 
</script> 
</head> 
<body onload="initialize()"> 
<div id="directions" style="width:500px;height:500px;float:left"></div> 
<div id="map_canvas" style="width:500px;height:500px;"></div> 
</body> 
</html> 
1

还是使用以前的代码:

… 
var start = new google.maps.LatLng('37.7683909618184', '-122.51089453697205'); 
var end = new google.maps.LatLng('41.850033', '-87.6500523'); 
var request = { 
    origin:start, 
    destination:end, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
}; 
directionsService.route(request, function(response, status) { 
    … 
} 
… 

这样的坐标直接承认的,而不是从字符串进行评估。

0

又一解决方案:传递一个对象等,以出发地和目的地

{lat: 39.904309, lng: 116.385871} 
相关问题