嗨我有一个场景,如果用户缩小,我会在给定位置有一个标记,以便标记所在的国家/地区显示两次,您会看到标记两次。
我想知道是否可以删除该标记的一个实例,以便一次只显示该标记的一个版本。
目前,它会打破叠加悬停行为,因为地图api无法确定叠加的位置,因为在给定时间点屏幕上有2个相同标记的实例。
由于
答案 0 :(得分:0)
似乎可能是一个错误(或至少是非预期的行为)。
带有SVG图标的google.maps.Marker仅在贴图的中心实例上呈现:
var SvgMarker2 = new google.maps.Marker({
map: map,
icon: {
path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',
fillColor: "red",
fillOpacity: 1,
strokeColor: '#000',
strokeWeight: 2,
scale: 1
},
position: new google.maps.LatLng(-30.4419, -72.1419)
});
代码段
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 0,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
map: map,
position: map.getCenter()
});
var SvgMarker = new google.maps.Marker({
map: map,
icon: {
path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z',
fillColor: "red",
fillOpacity: 1,
strokeColor: '#000',
strokeWeight: 2,
scale: 1
},
position: new google.maps.LatLng(-30.4419, -122.1419)
});
var SvgMarker2 = new google.maps.Marker({
map: map,
icon: {
path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',
fillColor: "red",
fillOpacity: 1,
strokeColor: '#000',
strokeWeight: 2,
scale: 1
},
position: new google.maps.LatLng(-30.4419, -72.1419)
});
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>