5

我已经使用 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();
4

2 回答 2

5

创建标记后

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;
    }
}
于 2013-08-08T15:20:30.423 回答
0

如果您只想隐藏标记,请使用以下命令:

marker.setMap(null);

那是您的问题的解决方案吗?

于 2013-08-08T15:13:29.893 回答