我想在路线的最终目的地添加一个信息窗口。我在网上搜索但发现要添加信息窗口我必须创建一个新对象。 请注意,我有一个静态起点,终点是从数据库动态获取它的纬度/经度。所以我想要的是一个信息窗口,当B图标,点击结束点时,会出现自定义文本。
此示例与我的情况非常相似:http://jsfiddle.net/gHK7s/2/
var directionsDisplay = new google.maps.DirectionsRenderer({
draggable: true
});
希望你们能帮我解决这个问题。谢谢。
答案 0 :(得分:2)
根据您发布的内容,您有一个working fiddle,但修改后会在路径末尾添加标记。
如另一个答案中所述,所需的修改之一是添加抑制路线标记的选项
var directionsDisplay = new google.maps.DirectionsRenderer({ draggable: true, suppressMarkers: true });
然后你必须在最后添加标记,你可以使用这两个函数:
function showDestinationMarker(directionResult) {
var marker = new google.maps.Marker({
position: directionResult.routes[0].legs[0].end_location,
map: map
});
attachMarkerText(marker, "The end.");
markerArray[0] = marker;
}
function attachMarkerText(marker, text) {
google.maps.event.addListener(marker, 'click', function() {
// Open an info window when the marker is clicked on,
// containing the text of the step.
stepDisplay.setContent(text);
stepDisplay.open(map, marker);
});
}
答案 1 :(得分:1)
选中此https://stackoverflow.com/a/22639746/1238965
关键是在DirectionsRenderer中使用suppressMarkers
:
directionsDisplay = new google.maps.DirectionsRenderer({
suppressMarkers: true
});
然后在开始和目的地添加您自己的markers,在目的地添加自定义infoWindow。