我正在使用谷歌地图API V3,我注意到有很多标记在这里,即使我不需要它们.例如,某些学校或InfoWindows在点击它们时出现的其他地方.
有什么方法可以删除它们,还是不可能?
google-maps infowindow google-maps-api-3 google-maps-markers
我有一个带有信息气泡和自定义标记的自定义地图.当我放大兴趣点,如公园和大学出现,当我点击信息窗口打开.如何禁用信息窗口?
我的代码如下:
var geocoder;
var map;
var infoBubble;
var dropdown = "";
var gmarkers = [];
var hostel_icon = new google.maps.MarkerImage('/resources/hostel_blue_icon.png',
new google.maps.Size(28,32),
new google.maps.Point(0,0),
new google.maps.Point(14,32));
var bar_icon = new google.maps.MarkerImage('/resources/bar_red_icon.png',
new google.maps.Size(28,32),
new google.maps.Point(0,0),
new google.maps.Point(14,32));
var icon_shadow = new google.maps.MarkerImage('/resources/myicon_shadow.png',
new google.maps.Size(45,32),
new google.maps.Point(0,0),
new google.maps.Point(12,32));
var customIcons = {
hostel: {
icon: hostel_icon,
shadow: icon_shadow
},
bar: {
icon: bar_icon,
shadow: icon_shadow
}
};
function initialize() {
var latlng = new google.maps.LatLng(12.82364, 26.29987);
var myMapOptions = …Run Code Online (Sandbox Code Playgroud) 我有以下问题.我setMap(null)通过以下代码删除所有对谷歌地图实例的引用,包括标记:
destroyMaps = function () {
leftMap = null;
window.map = null;
geocoder = null;
for (var i=0; i<window.rightMarkers.length; i++) {
window.rightMarkers[i].setMap(null);
window.rightMarkers[i] = null;
}
window.rightMarkers = null;
$("#map-canvas-right").remove();
for (var i=0; i<window.leftMarkers.length; i++) {
window.leftMarkers[i].setMap(null);
window.leftMarkers[i] = null;
}
window.leftMarkers = null;
$("#map-canvas-left").remove();
}
Run Code Online (Sandbox Code Playgroud)
引用leftMap或window.map在我的整个代码中唯一的东西是:
window.mapvar marker = new google.maps.Marker({
position: myLatlng,
map: window.map,
icon: window.pins[keyword_category.category_name],
shadow: window.pins["Shadow"],
title:job.job_title
});
marker.job_type = keyword_category.category_name;
window.rightMarkers.push(marker);
Run Code Online (Sandbox Code Playgroud)
leftMapvar marker = new …Run Code Online (Sandbox Code Playgroud) 我正在使用谷歌地图API v3.我想禁用默认google landmark/poi上的点击操作.例如,当我缩放到UCLA时,学校图标显示(这很好),但我不希望用户单击并查看该位置的详细信息.我应该使用哪种API函数?
从Google Maps API v3.6开始,地图现在包含"兴趣点",它们是嵌入到地图中的灰色标记.当用户单击此图标时,将显示InfoWindow,其中包含有关该业务(或公园,医院等)的信息.
可以通过设置样式来关闭它们.(参见"样式数组示例")
https://code.google.com/apis/maps/documentation/javascript/styling.html
一旦关闭,图标,名称和阴影区域(公园和医院)就会消失.
在Google Maps API v3.6之前,没有图标; 只有名字和地区.
问题:有没有办法删除这些兴趣点的"点击图标打开信息窗口"行为?我仍然想保留图标,名称和区域; 只想删除点击行为.
替代问题:有没有办法下载/保存Google Maps API v3.5的JavaScript以存储在我的服务器上?目前,v3.5正在满足我的需求.2月份,Google将不再提供v3.5代码,而只提供v3.6,v3.7,v3.8.
退出次要版本的Google Maps API v3,并使用API的"冻结"版本:
https://code.google.com/apis/maps/documentation/javascript/basics.html#Versioning
我尝试过并考虑过的事情:单击地图时添加事件监听器不起作用,因为单击嵌入的标记而不是地图.添加"clickable:false"作为属性是在黑暗中拍摄,没有结果.设置"visiblility:off"会将其全部删除,从而使地图内容更少.设置"visibility:simplified"会删除该位置的名称,但仍然存在onclick行为.将不可见的DIV覆盖在地图上可能会起作用,但它会消除平移/缩放/拖动地图的能力,而不会增加复杂性.
设置样式以使featureType:poi,elementType:labels,visibility:off将导致显示医院/墓地/公园的粉红色/灰色/绿色区域,而不显示标记或名称.它会向地图返回更多颜色.
我知道如何在地图上设置点击事件,点击随机位置时效果很好.但是,当我点击营业地点时,Google地图会显示包含有关业务信息的气球,但不会将点击事件提升到我的JavaScript.
您可以在此地理编码演示(http://rjshade.com/projects/gmaps-autocomplete/)上看到这种情况.浏览地图到某个城市并单击随机位置:地址显示在文本框中(华友世纪!).现在找到一些营业场所并点击:地图会弹出气球,但不会向JavaScript发送任何点击事件来更新文本框.讽刺的是:所需的地址信息是在气球可用!
如何处理Google地图中商家位置的点击事件?
截图:

如果单击标记,则显示有关斑点的信息(例如坐标).我想禁用它,因此标记不可点击.我怎样才能做到这一点?
我到处寻找,但一直无法找到有关如何做到这一点的信息.
javascript google-maps onclick google-maps-api-3 google-maps-markers