从路径添加信息窗口到目标标记

时间:2014-11-06 13:29:02

标签: jquery google-maps google-maps-api-3 google-maps-markers

我想在路线的最终目的地添加一个信息窗口。我在网上搜索但发现要添加信息窗口我必须创建一个新对象。 请注意,我有一个静态起点,终点是从数据库动态获取它的纬度/经度。所以我想要的是一个信息窗口,当B图标,点击结束点时,会出现自定义文本。

此示例与我的情况非常相似:http://jsfiddle.net/gHK7s/2/

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

希望你们能帮我解决这个问题。谢谢。

2 个答案:

答案 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