Javascript 在路线中使用航路点-方向服务谷歌地图
如果我将航路点添加到我的谷歌地图-calcRoute功能不起作用。 如何正确设置航路点 谢谢Javascript 在路线中使用航路点-方向服务谷歌地图,javascript,google-maps,Javascript,Google Maps,如果我将航路点添加到我的谷歌地图-calcRoute功能不起作用。 如何正确设置航路点 谢谢 <script> var directionDisplay; var directionsService = new google.maps.DirectionsService(); var map; function initialize() { directionsDisplay = new google.maps.Dir
<script>
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var mapOptions = {
zoom:55,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: chicago
}
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var start = "Berlin";
var end = "Paris";
var waypts = ["Frankfurt"];
var request = {
origin:start,
destination:end,
waypoints:waypts,
optimizeWaypoints: true,
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();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量映射选项={
缩放:55,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
}
函数calcRoute(){
var start=“柏林”;
var end=“巴黎”;
var waypts=[“法兰克福”];
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
}
阅读您引用的文档时,字符串“Frankfurt”无效 位置为“法兰克福”的单个航路点如下所示:
[{ location: "Frankfurt", stopover: false}]
适当设置中途停留的值
代码片段:
var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量映射选项={
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
calcRoute();
}
函数calcRoute(){
var start=“柏林”;
var end=“巴黎”;
var waypts=[{
地点:“法兰克福”,
中途停留:错误
}];
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}else警报(“指示请求失败,状态=“+状态”)
});
}
初始化()代码>
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图画布{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“机器人”,“无衬线”;
线高:30px;
左侧填充:10px;
}
方向服务
阅读您引用的文档时,字符串“Frankfurt”无效
位置为“法兰克福”的单个航路点如下所示:
[{ location: "Frankfurt", stopover: false}]
适当设置中途停留的值
代码片段:
var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量映射选项={
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
calcRoute();
}
函数calcRoute(){
var start=“柏林”;
var end=“巴黎”;
var waypts=[{
地点:“法兰克福”,
中途停留:错误
}];
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}else警报(“指示请求失败,状态=“+状态”)
});
}
初始化()代码>
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图画布{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“机器人”,“无衬线”;
线高:30px;
左侧填充:10px;
}
方向服务
下面的脚本可能会对您有所帮助
<script>
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
function showmap()
{
jQuery.ajax({
type: "POST",
url: "getLocations",
dataType:"json",
success: function(data){
var obj = jQuery.parseJSON(data);
var LocationData=[];
var i=0;
obj.forEach(function(entry) {
entry.forEach(function(test){
LocationData[i] = test
i++;
});
});
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: new google.maps.LatLng(LocationData[0].latitude,LocationData[0].longitude),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
var start = new google.maps.LatLng(LocationData[0].latitude,LocationData[0].longitude);
var end = new google.maps.LatLng(LocationData[obj[0].length-1].latitude,LocationData[obj[0].length-1].longitude);
var waypts = [];
var upto = obj[0].length-1;
if(upto > 7)
upto = 7;
if(obj[0].length > 2) {
for (var i = 1; i < upto; i++) {
waypts.push({
location: new google.maps.LatLng(LocationData[i].latitude,LocationData[i].longitude),
stopover: true
});
}
}
calcRoute(start,end,waypts);
}
});
}
function calcRoute(start,end,waypts) {
var request = {
origin: start,
destination: end,
waypoints: waypts,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
</script>
var方向显示;
var directionsService=new google.maps.directionsService();
函数showmap()
{
jQuery.ajax({
类型:“POST”,
url:“getLocations”,
数据类型:“json”,
成功:函数(数据){
var obj=jQuery.parseJSON(数据);
var LocationData=[];
var i=0;
obj.forEach(函数(条目){
entry.forEach(函数(测试){
位置数据[i]=测试
i++;
});
});
var map=new google.maps.map(document.getElementById('map'){
缩放:15,
中心:新建google.maps.LatLng(LocationData[0]。纬度,LocationData[0]。经度),
mapT