Google Maps v3在两点之间创建路线

时间:2013-01-28 06:05:14

标签: google-maps-api-3 google-api routes

我正在使用Google Maps API开发网络应用程序。我试图在两点之间创建一条路线但由于某种原因我还没弄明白如何创建它。以下是我的代码,请告诉我是否有遗漏的内容。谢谢。

<script>
var Center=new google.maps.LatLng(18.210885,-67.140884);
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function initialize() {
  directionsDisplay = new google.maps.DirectionsRenderer();
var properties = {
    center:Center,
    zoom:20,
    mapTypeId:google.maps.MapTypeId.SATELLITE
};

map=new google.maps.Map(document.getElementById("map"), properties);
directionsDisplay.setMap(map);

var marker=new google.maps.Marker({
position:Center,
animation:google.maps.Animation.BOUNCE,
});

marker.setMap(map);

}

function Route() {

var start = new google.maps.LatLng(18.210885,-67.140884);
var end =new google.maps.latLng(18.211685,-67.141684);
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.WALKING
 };
 directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
  directionsDisplay.setDirections(result);
}
});
} 

google.maps.event.addDomListener(window,'load',initialize);
</script>

1 个答案:

答案 0 :(得分:15)

如果我:

,它对我有用
  1. 调用路线功能
  2. 变化:

    var end =new google.maps.latLng(18.211685,-67.141684);
    
  3. 为:

        var end =new google.maps.LatLng(18.211685,-67.141684);
    

    (javascript区分大小写,浏览器在javascript控制台中报告错误)

    working version

    代码段:

    var Center = new google.maps.LatLng(18.210885, -67.140884);
    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    var map;
    
    function initialize() {
      directionsDisplay = new google.maps.DirectionsRenderer();
      var properties = {
        center: Center,
        zoom: 20,
        mapTypeId: google.maps.MapTypeId.SATELLITE
      };
    
      map = new google.maps.Map(document.getElementById("map"), properties);
      directionsDisplay.setMap(map);
    
      var marker = new google.maps.Marker({
        position: Center,
        animation: google.maps.Animation.BOUNCE,
      });
    
      marker.setMap(map);
      Route();
    }
    
    function Route() {
    
      var start = new google.maps.LatLng(18.210885, -67.140884);
      var end = new google.maps.LatLng(18.211685, -67.141684);
      var request = {
        origin: start,
        destination: end,
        travelMode: google.maps.TravelMode.WALKING
      };
      directionsService.route(request, function(result, status) {
        if (status == google.maps.DirectionsStatus.OK) {
          directionsDisplay.setDirections(result);
        } else {
          alert("couldn't get directions:" + status);
        }
      });
    }
    
    google.maps.event.addDomListener(window, 'load', initialize);
    html,
    body,
    #map {
      margin: 0;
      padding: 0;
      height: 100%;
    }
    <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <div id="map"></div>