向Google地图标记添加ID然后定位它

时间:2013-08-08 14:45:54

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

我已经使用Google Maps API v3创建了一个谷歌地图,并添加了一个自定义标记,我已经为Marker构造函数添加了一个ID,我希望使用jQuery来定位其他JS,但是当我只需尝试类似$('#'+ marker.id).hide();什么都没发生?

有人可以告诉我如何正确访问此标记ID吗?

我的制造商代码如下:

marker = new google.maps.Marker({
            externalURL: 'http://www.google.com',
            position: defaults.center,
            map: map,
            icon: markerImg,
            id: 'marker'
        });

然后我使用以下代码创建一个目标的jQuery对象:

var mapMarker = $( '#'+marker.id );
    mapMarker.hide();

2 个答案:

答案 0 :(得分:4)

使用

创建标记后
var myMarker = new google.maps.Marker({
                   externalURL: 'http://www.google.com',
                   position: defaults.center,
                   map: map,
                   icon: markerImg,
                   id: 'marker'
               });

要从地图中删除它,请使用:

myMarker.setMap(null);

要隐藏标记标记,请使用:

myMarker.setVisible(false);

如果您需要在以后访问许多标记,请考虑:

var allMyMarkers = [];
allMyMarkers.push( myMarker );

要访问特定ID,请考虑:

for(var i=0;i<allMyMarkers.length;i++){
    if(allMyMarkers[i].id === "marker"){
        allMyMarker[i].setMap(null);
        break;
    }
}

答案 1 :(得分:1)

如果您只想隐藏标记,请使用此选项:

marker.setMap(null);

这是解决问题的方法吗?