Php 如何在页面加载时自动计算路由?
我有一个谷歌地图,我想自动加载一个预先填充的路由(取自一系列PHP表单提交) 目前,PHP表单最终会出现一个页面,页面上有一个Google地图,一些下拉框带有预先填充的起点和终点(从他们以前提交的PHP表单中),下拉菜单上有一个onChange函数,用于计算路线(Php 如何在页面加载时自动计算路由?,php,javascript,google-maps,Php,Javascript,Google Maps,我有一个谷歌地图,我想自动加载一个预先填充的路由(取自一系列PHP表单提交) 目前,PHP表单最终会出现一个页面,页面上有一个Google地图,一些下拉框带有预先填充的起点和终点(从他们以前提交的PHP表单中),下拉菜单上有一个onChange函数,用于计算路线(onChange=“calcRoute();”,在下面的示例中)。这很好,但实际上,每一个最终形式最终都只有一个路线选项。因此,让用户“选择”路线的起点和终点是毫无意义的——每个下拉菜单中只有一个选项,因此我最好在页面加载时自动加载这些
onChange=“calcRoute();”
,在下面的示例中)。这很好,但实际上,每一个最终形式最终都只有一个路线选项。因此,让用户“选择”路线的起点和终点是毫无意义的——每个下拉菜单中只有一个选项,因此我最好在页面加载时自动加载这些选项以及它们之间的计算路线
有没有办法做到这一点
我的方向函数如下所示:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<?PHP
$Start_latLng = $_POST["start-latitude"] . ", " . $_POST["start-longitude"];
$End_latLng = $_POST["end-latitude"] . ", " . $_POST["end-longitude"];
?>
<script>
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var mapOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(54.219218, -2.905669)
}
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var start = document.getElementById('start').value;
var end = document.getElementById('end').value;
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);
}
});
}
</script>
方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
变量映射选项={
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:新google.maps.LatLng(54.219218,-2.905669)
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
}
函数calcRoute(){
var start=document.getElementById('start').value;
var end=document.getElementById('end').value;
var请求={
来源:start,
目的地:完,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
}
…我的下拉菜单由PHP$\u POST函数的结果填充
显然,我需要等待地图加载,然后才能计算路线,因此可能需要暂停-有什么想法吗?谢谢@Robot Woods:
你能不能把calcRoute()炒了;作为初始化函数的最后一行?-机器人伍兹你能开枪吗代码>作为
初始化
函数的最后一行?始终是最简单的选项!我怎么没想到?!谢谢你,机器人伍兹