Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将ID添加到Google地图标记,然后将其定位_Javascript_Jquery_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 将ID添加到Google地图标记,然后将其定位

Javascript 将ID添加到Google地图标记,然后将其定位,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我已经使用google Maps API v3创建了一个google地图,并添加了一个自定义标记,我已经向标记构造函数添加了一个ID,我希望使用jQuery以附加的JS作为目标,但此时我只需尝试$('#'+marker.ID).hide()之类的内容;什么都没发生 有人能告诉我如何正确访问此标记id吗 我的制造商代码如下: marker = new google.maps.Marker({ externalURL: 'http://www.google.com',

我已经使用google Maps API v3创建了一个google地图,并添加了一个自定义标记,我已经向标记构造函数添加了一个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();

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

marker.setMap(null);

这能解决您的问题吗?

在使用创建标记后

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 );
for(var i=0;i<allMyMarkers.length;i++){
    if(allMyMarkers[i].id === "marker"){
        allMyMarker[i].setMap(null);
        break;
    }
}
要访问特定id,请考虑:

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

for(var i=0;iIs)有错误吗?检查控制台。没有错误,只是似乎没有注册id@Jorge我仍然无法使用您的答案定位id?您将无法使用jQuery“$”选择器访问它。您需要遍历所有标记(即google.maps.Marker对象)的数组寻找具有该id的标记。嘿,你能给我举个例子吗?我在地图上只会有一个标记,我基本上希望能够在地图进入视图时向#标记添加一个活动的类?理想情况下,我希望在地图进入视图时向#标记添加一个类,以便将其从0%宽度设置为100%宽度,这是可能的吗没有回答这个问题,但当有人只想隐藏它时,这是一个很好的建议。