簡體   English   中英

谷歌地圖無法正常工作

[英]Google map not working properly

在此處輸入圖片說明

我想使用谷歌地圖從 2 個點構建距離計算器。但輸出不起作用。我沒有得到這 2 個點的距離和持續時間這是我的 javascript 代碼。

var source, destination;
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
google.maps.event.addDomListener(window, 'load', function () {
  new google.maps.places.SearchBox(document.getElementById('autocomplete'));
  new google.maps.places.SearchBox(document.getElementById('autocomplete1'));
  directionsDisplay = new google.maps.DirectionsRenderer({ 'draggable': true });
});

function GetRoute() {
  var mumbai = new google.maps.LatLng(18.9750, 72.8258);
  var mapOptions = {
    zoom: 7,
    center: mumbai
  };
  map = new google.maps.Map(document.getElementById('dvMap'), mapOptions);
  directionsDisplay.setMap(map);
  directionsDisplay.setPanel(document.getElementById('dvPanel'));

  //*********DIRECTIONS AND ROUTE**********************//
  source = document.getElementById("autocomplete").value;
  destination = document.getElementById("autocomplete1").value;

  var request = {
    origin: source,
    destination: destination,
    travelMode: google.maps.TravelMode.DRIVING
  };
  directionsService.route(request, function (response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
    }
  });

  //*********DISTANCE AND DURATION**********************//
  var service = new google.maps.DistanceMatrixService();
  service.getDistanceMatrix({
    origins: [source],
    destinations: [destination],
    travelMode: google.maps.TravelMode.DRIVING,
    unitSystem: google.maps.UnitSystem.METRIC,
    avoidHighways: false,
    avoidTolls: false
  }, function (response, status) {
    if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
      var distance = response.rows[0].elements[0].distance.text;
      var duration = response.rows[0].elements[0].duration.text;
      var dvDistance = document.getElementById("dvDistance");
      dvDistance.innerHTML = "";
      dvDistance.innerHTML += "Distance: " + distance + "<br />";
      dvDistance.innerHTML += "Duration:" + duration;

    } else {
      alert("Unable to find the distance via road.");
    }
  });
} 

這是我的 html 代碼

<div id="fifth">
  <div class="row">
    <p><b>Step 5:Locations Details</b></p>
  </div>
  <div class="row">
    <div class="col-md-3">
      <input type="text" class="form-control" id="autocomplete"  placeholder="Pick-up Location">
    </div>  
    <div class="col-md-3">
      <input type="text" class="form-control" id="autocomplete1"  placeholder="Drop-off Location">
    </div> 
    <div class="col-md-3">
      <input type="button" class="form-control" value="Get Distance" onclick="GetRoute()">
    </div>  
  </div>
  <div class="row">
    <table>
      <tr>
        <td colspan="2">
          <div id="dvDistance"></div>
        </td>
      </tr>
      <tr>
        <td>
          <div id="dvMap" style="width: 500px; height: 500px"></div>
        </td>
        <td>
          <div id="dvPanel" style="width: 500px; height: 500px"></div>
        </td>
      </tr>
    </table>
  </div>
</div>

我是編程新手。有人可以幫助我嗎? Sry 我的英語不好

您是否指定了“圖書館=地點”?

src="https://maps.googleapis.com/maps/api/js?key=123456&callback=initMap&libraries=places"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM