Я успешно использовал jVectorMap - это прекрасный пакет для отображения интерактивных карт!jVectorMap на мобильном устройстве требует 2 клика
В этом случае я хочу, чтобы некоторые регионы были доступны для выбора, и, похоже, нет возможности устанавливать регионы активными/неактивными. Поэтому вместо этого я устанавливаю «regionsSelectable = false», а затем устанавливаю «selectedRegions» тем, которые я хочу активировать.
Это работает отлично (с указанием правильных атрибутов наведения и т. Д. Только для «активных» регионов) - за одним исключением, в iOS. Там, чтобы обработать обработчик onRegionClick, требуется два клика (касания). При первом нажатии атрибуты «selectedHover» установлены правильно, но «handleRegion» никогда не вызывается. Вызывается второй клик и вызывается «handleRegion».
Initialization код выглядит следующим образом:
map = new jvm.WorldMap({
container: $('#mapdiv'),
map: 'world_mill_en',
regionsSelectable: false,
regionStyle: {
initial: { fill: '#0086d0' },
hover: { "fill-opacity": 1.0 },
selected: { fill: '#003a6a' },
selectedHover: { fill: '#ff7a00' }
},
onRegionClick: handleRegion,
selectedRegions:["CN","RU","US"],
...
});
function handleRegion(e,cc) {
alert("cc="+cc);
...
}
Что нужно либо способ «активировать» только несколько регионов, или способ решения этой проблемы две кнопки мыши.