Google Maps API:在以色列两点之间找到一条路线
||
我试图在我在html页面上手动输入的两点之间找到一条路线,但我得到了ZERO_RESULTS返回值。
用户输入两个位置src_address = \“ Tel Aviv \”和dst_address = \“ Haifa \”。
我通过为每个地址两次调用geocoder.geocode来获得它们的几何位置。然后设置:
src_latlng = results [0] .geometry.location;
dst_latlng = results [0] .geometry.location;
但是,当询问路由器时,我得到ZERO_RESULTS:
这是代码:
<!DOCTYPE html>
<html>
<img src=\"globe123.jpg\" width=\"72\" height=\"75\"/>
<head>
<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\"/>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"/>
<title>Google Maps JavaScript API v3 Example: Geocoding Simple</title>
<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 geocoder;
var map;
var geodesic;
var poly;
var src_latlng;
var dst_latlng;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById(\"map_canvas\"), myOptions);
var polyOptions = {
strokeColor: \'#FF0000\',
strokeOpacity: 1.0,
strokeWeight: 3
}
poly = new google.maps.Polyline(polyOptions);
poly.setMap(map);
directionsDisplay.setMap(map);
// Add a listener for the click event
//google.maps.event.addListener(map, \'click\', addLocation);
}
function codeAddress() {
var src_address = document.getElementById(\"SRC_ADDR\").value;
var dst_address = document.getElementById(\"DST_ADDR\").value;
geocoder.geocode( { \'address\': src_address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var path = poly.getPath();
path.push(results[0].geometry.location);
src_latlng = results[0].geometry.location;
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert(\"Geocode was not successful for the following reason: \" + status);
}
});
geocoder.geocode( { \'address\': dst_address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(8);
var path = poly.getPath();
path.push(results[0].geometry.location);
dst_latlng = results[0].geometry.location;
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
calcRoute();
} else {
alert(\"Geocode was not successful for the following reason: \" + status);
}
});
}
function calcRoute() {
var start = src_latlng;
var end = dst_latlng;
var request = {
origin:start,
destination:end ,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
} else {
alert(status);
}
});
}
</script>
</head>
<body onload=\"initialize()\">
<div style=\"text-align:left\">
Source: <input id=\"SRC_ADDR\" type=\"textbox\" value=\"Tel-Aviv, Israel\">
Destination: <input id=\"DST_ADDR\" type=\"textbox\" value=\"Haifa, Israel\">
<input type=\"button\" value=\"Calculate Travel Time\" onclick=\"codeAddress()\">
</div>
<div id=\"map_canvas\" style=\"height:40%;width:40%;top:120px\"></div>
<!-- <div id=\"map_canvas\" style=\"width: 320px; height: 480px;\"></div>
-->
</body>
</html>
没有找到相关结果
已邀请:
3 个回复
芜任亮蜡
函数调用返回了ZERO_RESULTS状态。 请在此处查看Google \'s受支持地区的地图覆盖范围详细信息工作表。指向电子表格的直接链接在这里。
扇献隙
戒黑恳农