Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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 在谷歌地图中禁用信息窗口_Javascript_Html_Google Maps_Geolocation - Fatal编程技术网

Javascript 在谷歌地图中禁用信息窗口

Javascript 在谷歌地图中禁用信息窗口,javascript,html,google-maps,geolocation,Javascript,Html,Google Maps,Geolocation,您好,您是否在我的谷歌地图上禁用了谷歌信息窗口?您可以通过访问信息窗口看到,该窗口看起来很奇怪,显示的地址不正确 // ---------- Geolocation ---------- function fallback() { var myOptions = { center: new google.maps.LatLng(51.43255949795703, -0.461750328540802), z

您好,您是否在我的谷歌地图上禁用了谷歌信息窗口?您可以通过访问信息窗口看到,该窗口看起来很奇怪,显示的地址不正确

    // ---------- Geolocation ----------    
function fallback() {
            var myOptions = {
            center: new google.maps.LatLng(51.43255949795703, -0.461750328540802),
            zoom: 14,
            mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            var map = new google.maps.Map(document.getElementById("Map_Canvas"),
            myOptions);

            var markerPos = new google.maps.LatLng(51.43255949795703, -0.461750328540802);
            var marker = new google.maps.Marker({
            position: markerPos,
            map: map,
            title: "The Harpers Hairdressing"
            });
            }

   function initGeolocation() 
    { 
           if(navigator.geolocation) 
            { 
              // Call getCurrentPosition with success and failure callbacks 
              navigator.geolocation.getCurrentPosition( success, fail ); 
            } 
        else 
            { 
              fallback()
               } 
    } 
    var directionDisplay; 
    var directionsService = new google.maps.DirectionsService(); 
    var map; 
    function success(position) { 
      directionsDisplay = new google.maps.DirectionsRenderer(); 
      coords = new google.maps.LatLng(position.coords.latitude, 
position.coords.longitude); 
      var myOptions = { 
        zoom:12, 
        mapTypeId: google.maps.MapTypeId.ROADMAP, 
        center: coords 
      } 
      map = new google.maps.Map(document.getElementById("Map_Canvas"), 
myOptions); 
      directionsDisplay.setMap(map);
      calcRoute();
    } 
    function calcRoute() { 
      var start = coords; 
      var end = new google.maps.LatLng(51.43255949795703, -0.461750328540802); 
      var request = { 
        origin:start, 
        destination: "3 Fir Tree Place, Church Road, Ashford, Middlesex, TW15 2PH",
        travelMode: google.maps.TravelMode.DRIVING,
      }; 
      directionsService.route(request, function(result, status) { 
        if (status == google.maps.DirectionsStatus.OK) { 
          directionsDisplay.setDirections(result); 
        } 
      }); 
    } 
        function fail() 
        { 

           fallback();

} 

正如您所看到的,回退是一个简单的标记,它不显示和信息窗口,但方向会显示。

在DirectionsRenderer对象上,您可以传递一个DirectionsRendererOptions选项结构。其中有一个markerOptions值,您应该能够使用该值解除标记与地图的关联

类似的方法可能会奏效:

directionsDisplay = new google.maps.DirectionsRenderer({
  markerOptions : {
        map: null,  //  you probably would only need 1 or the other of these two values
        visible: false
  }
}); 

使用邓肯的修正,我刚刚使用了clickable:false选项,它似乎做到了这一点,非常感谢

    directionsDisplay = new google.maps.DirectionsRenderer({
        markerOptions : {
            visible: true,
            clickable: false
        }
  }); 

在图层的选项中使用suppressInfoWindows:true:

layer = new google.maps.FusionTablesLayer({
        map: map,
        heatmap: {
            enabled: false
        },
        options: {
            suppressInfoWindows:true
        }
    });

这一半修复了它,因为它完全隐藏了标记,而不是信息窗口