如何将我的位置放在中心并隐藏一些标记

时间:2014-02-06 14:04:42

标签: javascript html css google-maps google-maps-api-3

这里我有一个谷歌地图/地方代码,用open_hours显示我的位置和标记 http://jsbin.com/ATaZEXE/12/edit

首先,我想在搜索时将我的位置放在屏幕中心。我怎么有这个代码:

if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
      var pos = new google.maps.LatLng(position.coords.latitude,
                                       position.coords.longitude);

      var infowindow = new google.maps.InfoWindow({
        map: map,
        position: pos,
        content: 'Here you are.'
      });

      map.setCenter(pos);
    });
  }

但是当我搜索某些物体时,我的位置不在中心,如何让它在屏幕的中心?

第二

我想要隐藏不包含opening_hours的标记。所以我有:

 (function(marker,request,i){
        setTimeout(function(){
         service.getDetails(request, function(place, status){
          try{
            var time=place.opening_hours.periods[1].open.time;
            var closed=place.opening_hours.periods[1].close.time;
            var closed=[(closed/100).toFixed(0),closed.substr(-2)].join(':');
            marker.set('labelContent',[(time/100).toFixed(0),time.substr(-2)].join(':')+' - '+closed+'</br>'+place.name);

marker.set('labelClass', place.opening_hours.open_now ? "labels" : "labels closed");

          }
          catch(e){}
         });
        },
        i*250)
      })(marker,request,i);

我尝试隐藏没有opens_hours的标记:

(function(marker,request,i){
        setTimeout(function(){
         service.getDetails(request, function(place, status){
          try{
            var time=place.opening_hours.periods[1].open.time;
            var closed=place.opening_hours.periods[1].close.time;
            var closed=[(closed/100).toFixed(0),closed.substr(-2)].join(':');
            marker.set('labelContent',[(time/100).toFixed(0),time.substr(-2)].join(':')+' - '+closed+'</br>'+place.name);

if(!place.opening_hours.open_now)marker.set(null);

marker.set('labelClass', place.opening_hours.open_now ? "labels" : "labels closed");

          }
          catch(e){}
         });
        },
        i*250)
      })(marker,request,i);

1 个答案:

答案 0 :(得分:0)

您可以使用

隐藏标记
marker.setMap(null);