2011-07-22 47 views
40

Tôi có một bản đồ google được thiết lập để tìm vị trí hiện tại của người dùng và căn giữa bản đồ tại điểm đánh dấu gần nhất với vị trí của họ. Các điểm đánh dấu, khi được nhấp, mở một hộp thông tin (lưu ý điều này hơi khác một chút so với thông tinWindow - http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html). Tuy nhiên, điều tôi muốn làm là tự động mở điểm đánh dấu gần nhất mà không cần người dùng thực sự nhấp vào. Dưới đây là đoạn mã để kích hoạt phần mở đầu đánh dấu:kích hoạt điểm đánh dấu bản đồ google nhấp

//loop through all locations to add a marker: 
addMarker = function(loc) { 
    var markerLoc = new google.maps.LatLng(loc.Lat, loc.Long); 

    var marker = new google.maps.Marker({ 
     map: map, 
     position: markerLoc 
    }); 

    google.maps.event.addListener(marker, "mousedown", function() { 

     var infoOpts = { 
      content: loc.markerText, 
      boxStyle: { background: "none transparent", width: "180px"}, 
      pixelOffset: new google.maps.Size(-90, 0), 
      closeBoxMargin: "5px" 
     }; 

     var ib = new InfoBox(infoOpts); 
     ib.open(map, marker); 
    }); 

    markers.push(marker); 
}; 

Chính vì vậy tôi phải kích hoạt chức năng mouseDown của điểm đánh dấu thích hợp, nhưng nó phải được thực hiện trong một hàm bên ngoài thế này. Tôi sẽ có một tham chiếu đến điểm đánh dấu thích hợp trong mảng (đánh dấu [dấu mốc gần nhất]).

Trả lời

95

tôi thấy rằng câu hỏi này đã được ngồi cho một thời gian, nhưng, chỉ trong trường hợp, câu trả lời này có thể hữu ích: trigger google maps marker click

Chúc may mắn!

Mã này sẽ trông như thế này:

var marker = new google.maps.Marker({}); 
new google.maps.event.trigger(marker, 'click'); 
3

tôi thấy tôi cần phải đính kèm một sự kiện click vào điểm đánh dấu như vậy

var marker = new google.maps.Marker({}); 
marker.addListener('click', function() { 
    infowindow.open(map, marker); 
}); 
new google.maps.event.trigger(marker, 'click'); 
Các vấn đề liên quan