Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 Google Maps v3-将标记替换为信息窗口显示_Javascript_Google Maps - Fatal编程技术网

Javascript Google Maps v3-将标记替换为信息窗口显示

Javascript Google Maps v3-将标记替换为信息窗口显示,javascript,google-maps,Javascript,Google Maps,我已经发现了很多关于单独定制标记器/信息窗口的方法,但是有可能将信息窗口用作标记器吗?仅显示信息窗口。我试着把标记css当作display:hidden;除了运气之外,几乎没有其他事情 var mapOptions = { center: new google.maps.LatLng(37.7831,-122.4039), zoom: 12, mapTypeId: google.maps.MapTypeId.ROADMAP };

我已经发现了很多关于单独定制标记器/信息窗口的方法,但是有可能将信息窗口用作标记器吗?仅显示信息窗口。我试着把标记css当作display:hidden;除了运气之外,几乎没有其他事情

var mapOptions = {
        center: new google.maps.LatLng(37.7831,-122.4039),
        zoom: 12,
        mapTypeId: google.maps.MapTypeId.ROADMAP
        };

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    var acOptions = {
      types: ['establishment']
    };
    var autocomplete = new google.maps.places.Autocomplete(document.getElementById('autocomplete'),acOptions);
    autocomplete.bindTo('bounds',map);
    var infoWindow = new google.maps.InfoWindow();
    var marker = new google.maps.Marker({
      map: map
    });

    google.maps.event.addListener(autocomplete, 'place_changed', function() {
      infoWindow.close();
      var place = autocomplete.getPlace();
      if (place.geometry.viewport) {
        map.fitBounds(place.geometry.viewport);
      } else {
        map.setCenter(place.geometry.location);
        map.setZoom(17);
      }
      marker.setPosition(place.geometry.location);
      infoWindow.setContent('<div><strong>' + place.name + '</strong><br>');
      infoWindow.open(map, marker);
      google.maps.event.addListener(marker,'click',function(e){

        infoWindow.open(map, marker);

      });
    });
这对我很有用:

google.maps.event.addListener(autocomplete, 'place_changed', function() {
  infoWindow.close();
  var place = autocomplete.getPlace();
  if (place.geometry.viewport) {
    map.fitBounds(place.geometry.viewport);
  } else {
    map.setCenter(place.geometry.location);
    map.setZoom(17);
  }
  infoWindow.setContent('<div><strong>' + place.name + '</strong><br>');
  infoWindow.setPosition(place.geometry.location);
  infoWindow.open(map);
});

我已经将setPosition更改为marker.hide.setPosition,但是我仍然必须单击该位置以显示信息窗口。如果您不需要该标记。不要把它添加到地图上。你不需要一个标记来显示一个信息窗口。我怎么能在我的代码中这样做呢?infoWindow.setPositionplace.geometry.location;不太正常。