在折线上发生mouse_over事件时定义最接近的标记(上一个和下一个)

时间:2013-09-11 17:33:06

标签: javascript google-maps google-maps-api-3 google-polyline

我有一条由10个标记组成的折线。 有没有办法在polyline的某些部分发生mouse_over或mouse_click事件时定义最接近的标记(上一个和下一个)?

例如,我点击了折线的1部分。折线的这一部分位于2个标记之间。我需要用他们的LatLng位置搜索2个标记。

任何建议都将非常感谢。 感谢。

UPDATE1 这是snippet1(从数据库(从服务器的API)获取每个标记的latlng):

        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(
                    json.coordinate.latitude,//getting from response from server's API
                    json.coordinate.longitude
                    ),
            map: this.map,
            timestamp: json.timestamp
        });
markersArray.push(marker);

和snippet2(填充标记数组并绘制折线):

var latlngs = []; //get locations (latLng) from markers
    for (var i in markersArray) {
    latlngs.push(markersArray[i].getPosition());
    }
var lineSymbol = {
            path: google.maps.SymbolPath.FORWARD_OPEN_ARROW
        };

        var polyline = new google.maps.Polyline({
            path: latlngs,
            /*icons: [{
             icon: lineSymbol,
             offset: '100%'
             }],*/
            strokeColor: "#000000",
            map: this.map
        })

        google.maps.event.addListener(polyline, 'mouseover', function(event)
        {
            //TODO: ???
        });

说实话,我需要接下来的四件事:
1.将鼠标悬停在折线上 2.定义polyline mouse_over事件发生之间的上一个/下一个标记 3.从这些标记中获取marker.timestamp值 4.仅为折线的这部分绘制方向(如google.maps.SymbolPath.FORWARD_OPEN_ARROW)(不适用于所有折线)

0 个答案:

没有答案