2

我需要为方向标记添加侦听器,但没有任何访问权限。如何访问方向标记,如简单标记?对不起我糟糕的英语,我希望你能理解我。

UPD:我创建了一条新路线:

var request = {
    origin: someorigin,
    destination: somedestination,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
};

directionsService.route(request, function(response, status){
    if (status == google.maps.DirectionsStatus.OK){
        directionsDisplay.setDirections(response);
    }
});

现在我想访问起点和终点标记。

4

3 回答 3

0

您无法通过 google.maps.DirectionsRenderer 类访问添加到地图的标记。但是,您可以使用 suppressMarkers 选项,渲染折线路线,然后使用您自己的事件添加您自己的开始和目的地标记。

希望这可以帮助。

于 2011-04-02T17:10:37.503 回答
0

只需使用 css:

有时简单是关键。

A 行是一个表格:

<table id="adp-placemark" class="adp-placemark" jstcache="0">

B线是:

<table class="adp-placemark" jstcache="0">

所以下面的css会改变标记:

#adp-placemark img, .adp-placemark img {
   display:none;
}
#adp-placemark {
   font-weight: bold;
   padding: 10px 10px 10px 30px;
   background: white url(../images/map_icons/number_1.png) no-repeat left center;
}
.adp-placemark {
   font-weight: bold;
   padding: 10px 10px 10px 30px;
   background: white url(../images/map_icons/number_2.png) no-repeat left center;
}
于 2012-10-15T15:33:23.193 回答
-1

如果您使用的是 API V3:您可以在方向显示对象中找到标记。

他们是:

directionsDisplay.b.d[0]
directionsDisplay.b.d[1]

因此,您可以对它们进行更改,例如将它们从地图中删除:

directionsDisplay.b.d[0].setMap(null);
directionsDisplay.b.d[1].setMap(null);

希望这可以帮助。

于 2013-06-24T03:25:57.233 回答