Googleマップを設定してユーザーの現在地を見つけ、地図をその最も近い位置に配置します。マーカーをクリックすると、インフォボックスが開きます(これはinfoWindowと少し異なります - http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html)。しかし、私がしたいことは、ユーザーが実際にクリックすることなく、最も近いマーカを自動的に開きます。ここでは、マーカー開口部をトリガーするコードがあります:トリガーgoogle maps markerクリック
//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);
};
だから、何とか私は、適切なマーカーのmouseDownイベント機能を起動する必要がありますが、それはこの1の外側の関数内で行う必要があります。私は配列内の適切なマーカーへの参照を持っています(マーカー[closestmarker])。