Карта Bing AJAX Control V7 - Как предотвратить отображение контекстного меню при щелчке правой кнопкой мыши? - PullRequest
1 голос
/ 30 августа 2011

Я добавил карту Bing на свою веб-страницу, а также добавил обработчик события «rightclick».

Когда я щелкаю правой кнопкой мыши на карте, происходит событие, и одновременно отображается контекстное меню браузера. Как я могу предотвратить отображение контекстного меню?

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

Синтаксис совершенно различен для Bing Maps v6.3 и v7.0. Версия 6.3 Использует библиотеки Virtual Earth, так как 7.0 использует библиотеки Microsoft.Maps.

В 7.0 вы можете добавить обработчики событий на карту и объекты карты следующим образом:

Microsoft.Maps.Events.addHandler(map, 'rightclick', rightclickHandler);

Вот отличная ссылка для перехода между 6.3 и 7.0, которую я добавил в MSDN.

http://msdn.microsoft.com/en-us/library/hh237870.aspx

Что касается отключения контекстного меню, вы можете настроить oncontextmenu так, чтобы оно возвращало false, чтобы при щелчке правой кнопкой мыши не получалось и контекстное меню. Я уверен, что есть лучшие способы сделать это, но это быстрый и легкий трюк.

 <body onload="GetMap();" oncontextmenu="return false">
0 голосов
/ 31 августа 2011

Я не нашел какой-либо конкретной карты отключения Bing, чтобы отключить ее, однако в прототипе можно сделать так, чтобы контекстное меню не отображалось на элементе div, содержащем карту

// Create map
map = new Microsoft.Maps.Map(document.getElementById('map'), {credentials: 'bing_map_api_key'});
// Prevent the context menu from showing on right click on the map div using prototype
$('map').observe("contextmenu", function(e){
  e.stop();
});
...