2014-12-10 2 views
0

В моем .cshtml файле у меня есть заголовок <h2 id="venueName"></h2> и Кендо Карта с MarkerClick события определяется следующим образом:MarkerClick событие на карте Кендо UI

@(Html.Kendo().Map() 
    .Name("map") 
    .Center(-25.8671083, 133.6768307) 
    .Zoom(4) 
    .Layers(layers => 
     { 
      ... 
     }) 
    .Events(events => events 
     .MarkerClick("onMarkerClicked") 
    ) 
) 

Вот сценарий для события

<script type="text/javascript"> 
    function onMarkerClicked(e) { 
     $("#venueName").text("Venue 1"); 
    } 
</script> 

Возникает вопрос: когда я нажимаю маркер, заголовок не изменяется на Venue 1. Я где-то ошибаюсь?

+0

Для тех, кто находит это сейчас (2017), '.MarkerClick (" functionName ")' работает так, как ожидалось. –

ответ

2

Что-то странное, что карта кендо не предоставляет событие «MarkerClick», когда карта определена в html. Также попытка связать событие «MarkerClick» после инициализации карты не работает. Я использовал следующий код:

var map = $("#map").data("kendoMap"); 
    map.bind("markerClick", function (e) { 
     alert("assx"); 
    }); 

Но тот же код работает для других enevts как «zoomStart» и т.д.

Удивительно, если карта определяется в JavaScript можно поднять «MarkerClick» событие. то есть

$("#map").kendoMap({ 
      center: [30.268107, -97.744821], 
      zoom: 3, 
      markerClick: clicked, 
      //other declarations.. 
    }); 

function clicked(e){ 
    alert("assx"); 
    //$("#venueName").text("Venue 1") also works. 
    } 

Это то, что я смог найти. Надеюсь, это поможет!

+0

да, это странно ... Я видел пример на веб-сайте кендо, и все они определили карту в javascript с событием markerclick. Я тоже думал об этом, но я хочу определить карту в html, так как все остальные элементы kendo в моем проекте находятся в html. Предположим, мне нужно переключить карту на javascript. спасибо! –

Смежные вопросы