Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图中的自定义和航路点标记_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图中的自定义和航路点标记

Javascript 谷歌地图中的自定义和航路点标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我在找人帮忙。我有下面的谷歌地图代码,这是工作良好。我唯一需要的是在起点上有一个自定义标记:(51.943382,6.463116),在航路点上没有标记。 这能做到吗?我尝试过Stackoverflow的几种解决方案,但我对GMs代码和编程技能的理解还不足以满足我的需求。 谢谢 谷歌地图JavaScript API v3示例:方向航路点 方向显示; var directionsService=new google.maps.directionsService(); var映射; 函数初始化()

我在找人帮忙。我有下面的谷歌地图代码,这是工作良好。我唯一需要的是在起点上有一个自定义标记:(51.943382,6.463116),在航路点上没有标记。 这能做到吗?我尝试过Stackoverflow的几种解决方案,但我对GMs代码和编程技能的理解还不足以满足我的需求。 谢谢


谷歌地图JavaScript API v3示例:方向航路点
方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=新建google.maps.DirectionsRenderer({
});
变量myOptions={
缩放:10,
mapTypeId:google.maps.mapTypeId.ROADMAP,
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
方向显示.setMap(地图);
calcRoute();
}
函数calcRoute(){
var-waypts=[];
stop=new google.maps.LatLng(51.943571,6.463856)
推({
地点:停止,
中途停留:真});
stop=new google.maps.LatLng(51.945032,6.465776)
推({
地点:停止,
中途停留:真});
stop=new google.maps.LatLng(51.945538,6.469413)
推({
地点:停止,
中途停留:真});
stop=new google.maps.LatLng(51.947462,6.467941)
推({
地点:停止,
中途停留:真});
stop=new google.maps.LatLng(51.945409,6.465562)
推({
地点:停止,
中途停留:真});
stop=new google.maps.LatLng(51.943700,6.462096)
推({
地点:停止,
中途停留:真});
start=newgoogle.maps.LatLng(51.943382,6.463116);
end=新的google.maps.LatLng(51.943382,6.463116);
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.WALKING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
var route=response.routes[0];
}
});
}

我认为只有一种解决方案可以实现这一点。使用以下代码删除所有标记:

directionsDisplay = new google.maps.DirectionsRenderer({
    suppressMarkers: true
});
并在起点手动添加标记

这里有一个例子来说明


希望这有帮助

只需添加独立于方向的标记即可

var marker = new google.maps.Marker({
    position: start,
    map: map
});
这是假设您正在将其添加到initialize函数中,以便访问映射。否则,您需要将map变量设置为全局变量,以便可以在calcRoute函数中访问它

在directionsDisplay对象中,将suppressMarkers设置为true:

directionsDisplay = new google.maps.DirectionsRenderer({
    suppressMarkers : true
});

directionsDisplay = new google.maps.DirectionsRenderer({
    suppressMarkers : true
});