向Google地图标记添加一个ID,然后定位它 [英] Adding an ID to Google Map Marker then targeting it

查看:140
本文介绍了向Google地图标记添加一个ID,然后定位它的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Google Maps API v3创建了谷歌地图,并添加了一个自定义标记,我已经为Marker构造函数添加了一个ID,我希望用额外的JS使用jQuery来定位它,但是当我只需尝试像$('#'+ 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();


解决方案

使用

$ b创建标记后
$ b

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

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

  myMarker.setMap(空); 

要隐藏标记,请使用:

  myMarker.setVisible(false); 

如果您以后需要大量标记才能访问,请考虑:

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

要访问特定的ID,请考虑:

< $($ my $ my $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ b allMyMarker [i] .setMap(null);
休息;
}
}


I've created a google map using the Google Maps API v3 and have added a custom marker, I have added an ID to the Marker constructor which I am hoping to target with additional JS using jQuery, at the moment however when I simply try something like $( '#'+marker.id ).hide(); nothing happens?

Could anyone advise me on how to properly access this marker id?

My maker code is as follows:

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

and then I use the following code to create a jQuery object to target:

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

解决方案

After creating a marker with

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

To remove it from the map, use:

myMarker.setMap(null);

To hide the marker marker from view, use:

myMarker.setVisible(false);

If you need to have a lot of markers to access later, consider:

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

To access a specific id, consider:

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

这篇关于向Google地图标记添加一个ID,然后定位它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆