【发布时间】:2017-02-08 05:24:08
【问题描述】:
我使用 Google Maps API 创建了以下代码,该代码应在 Google Maps 上的两个给定地址之间创建一条方向线。我的代码是:
function initMap()
{
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: {lat: -34.397, lng: 150.644}
});
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer({
map: map
});
var geocoder = new google.maps.Geocoder();
var pointA,pointB;
geocoder.geocode({'address': document.getElementById('addressFrom').value}, function(results, status) {
var location = results[0].geometry.location;
pointA = new google.maps.LatLng(location.lat(),location.lng());
alert(location.lat() + '' + location.lng());
});
geocoder.geocode({'address': document.getElementById('addressTo').value}, function(results, status) {
var location = results[0].geometry.location;
pointB = new google.maps.LatLng(location.lat(),location.lng());
alert(location.lat() + '' + location.lng());
});
var markerA = new google.maps.Marker({
position: pointA,
title: "point A",
label: "A",
map: map
});
var markerB = new google.maps.Marker({
position: pointB,
title: "point B",
label: "B",
map: map
});
calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB);
}
function calculateAndDisplayRoute(directionsService, directionsDisplay, pointA, pointB) {
directionsService.route({
origin: pointA,
destination: pointB,
travelMode: google.maps.TravelMode.DRIVING
}, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
}
<input id="addressFrom" type="textbox" value="Sydney">
<input id="addressTo" type="textbox" value="London">
<input id="submit" type="button" value="Geocode" onclick="initMap">
<div id="map"></div>
从浏览器检查时出现以下错误:
【问题讨论】:
标签: javascript html css google-maps-api-3