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
}
});
这一半修复了它,因为它完全隐藏了标记,而不是信息窗口