Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用lat/lon搜索地图方向_Javascript_Google Maps - Fatal编程技术网

Javascript 使用lat/lon搜索地图方向

Javascript 使用lat/lon搜索地图方向,javascript,google-maps,Javascript,Google Maps,我有两个位置的lat/lon。如何从谷歌地图api获取方向? 我想显示地图和方向文本。 <!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"/> <lin

我有两个位置的lat/lon。如何从谷歌地图api获取方向? 我想显示地图和方向文本。


<!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>
方向显示; var directionsService=new google.maps.directionsService(); var映射; 函数初始化(){ directionsDisplay=new google.maps.DirectionsRenderer(); 变量myOptions={ mapTypeId:google.maps.mapTypeId.ROADMAP, } map=new google.maps.map(document.getElementById(“map_canvas”),myOptions); 方向显示.setMap(地图); var start='37.7683909618184,-122.51089453697205'; var end='41.850033,-87.6500523'; var请求={ 来源:start, 目的地:完, travelMode:google.maps.Directions travelMode.DRIVING }; 路由(请求、功能(响应、状态){ if(status==google.maps.directionstatus.OK){ 方向显示。设置方向(响应); var myRoute=response.routes[0]; var txtDir='';
对于(var i=0;i或使用之前的代码:

…
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) {
   …
}
…

这样可以直接识别坐标,而不是根据字符串进行计算。

还有另一种解决方案:将对象传递到原点和终点

{lat: 39.904309, lng: 116.385871}