Контекстное меню Bing Maps V7 - PullRequest
2 голосов
/ 27 декабря 2011

Я использую Bing Maps Ajax V7.Я хочу щелкнуть правой кнопкой мыши, чтобы получить информационный блок и показать мои ссылки внутри.

function GetMap(){
// Initialize the map
map = new Microsoft.Maps.Map(document.getElementById("mapDiv"),{credentials:""}); 
attachrightclick = Microsoft.Maps.Events.addHandler(map, 'rightclick',showPopupMenu); 
}

function showPopupMenu(e){

var latlong = new Microsoft.Maps.Location(e.getY(),e.getX());

var defaultInfobox = new Microsoft.Maps.Infobox(latlong, {title: '<div>My Pushpin<div>', visible: true} ); 
map.entities.push(defaultInfobox);
}

Инфобокс добавлен, но, к сожалению, не имеет смысла указывать, что я нажимаю ... Я добавляю другой латлон ...

У кого-нибудь есть идея:

1) Как заставить информационное окно загружаться в положение, где я щелкаю правой кнопкой мыши.2) Отключить правый клик по умолчанию в браузере, чтобы отображалось только информационное окно, а не правое меню

Большое спасибо.

1 Ответ

5 голосов
/ 29 декабря 2011

Вопрос № 1:

var pushpin= new Microsoft.Maps.Pushpin(map.getCenter(), null); 
pushpinClick= Microsoft.Maps.Events.addHandler(pushpin, 'rightclick', displayEventInfo);  
map.entities.push(pushpin); 

function displayEventInfo(e){
    var pushpin = e.target;
    var infoboxOptions = {width :200, height :100, showCloseButton: true, zIndex: 0, offset:new Microsoft.Maps.Point(10,0), showPointer: true}; 
    var defaultInfobox = new Microsoft.Maps.Infobox(pushpin.getLocation(), infoboxOptions );    
    map.entities.push(defaultInfobox);
    defaultInfobox.setHtmlContent('html content goes here!'); 
}

Вопрос № 2:

<body oncontextmenu="return false">
...
</body>
...