0
嗨我有一個場景,說我有一個標記在給定的位置,如果用戶縮小,以便國家的標記是顯示兩次,你會看到標記兩次。谷歌地圖 - 由於變焦相同標記的多個實例
我想知道是否可以刪除該標記的一個實例,以便一次只顯示其中一個版本。
目前,它會打破覆蓋懸停行爲,因爲地圖API無法確定放置覆蓋的位置,因爲在給定的時間點屏幕上存在2個相同標記的實例。
感謝
嗨我有一個場景,說我有一個標記在給定的位置,如果用戶縮小,以便國家的標記是顯示兩次,你會看到標記兩次。谷歌地圖 - 由於變焦相同標記的多個實例
我想知道是否可以刪除該標記的一個實例,以便一次只顯示其中一個版本。
目前,它會打破覆蓋懸停行爲,因爲地圖API無法確定放置覆蓋的位置,因爲在給定的時間點屏幕上存在2個相同標記的實例。
感謝
好像這可能是一個錯誤(或者至少是無意的行爲)。
甲google.maps.Marker用SVG圖標僅呈現在地磚上的中心實例:
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>
但它帶有一個PNG標記它複製..嗯我會嘗試SVG – TheLearningDev
您可以放置代碼如何創建標記嗎? – Tito
http://www.messagesforjapan.com/messages/map/ 如果您在此處看到並滾動地圖,以便查看澳大利亞地圖的兩個副本,並嘗試將鼠標懸停在右側國家/地區副本上的標記上 使用覆蓋方法的答覆 – TheLearningDev
'google.maps.event.addListener(標記 由於與股票同樣的情況開箱覆蓋作爲標記的,「鼠標懸停」,函數(){ //得到屏幕的xy 變種POS = self.latLngPixel(this.getPosition()); \t \t \t \t \t \t \t \t \t \t //創建一個覆蓋 \t \t \t \t \t變種覆蓋= self.createOverlay(this.message,POS); \t \t \t \t \t \t \t \t \t \t //它添加到DOM \t \t \t \t \t $(self.mapCanvas)。經過(覆蓋); });' – TheLearningDev