2016-08-19 40 views
0

我有一张地图,用户将使用它来标记自己的位置。我使用地理位置和Bing层为他们提供了一个良好的开端。我希望他们点击地图,使其更接近他们点击的位置,移除现有的标记,然后创建一个新地图,以地图为中心。Kendo UI Map - 如何使用javascript添加标记

function onClick(e){0} { var resultArray = e.location.toString()。split(',');

 $('#map').data("kendoMap").center([parseFloat(resultArray[0]), parseFloat(resultArray[1])]); 
     $('#map').data("kendoMap").markers.clear(); 
     $('#map').data("kendoMap").markers.add([parseFloat(resultArray[0]), parseFloat(resultArray[1])]); 
    } 

上面的函数居中映射,删除上一个标记,并且不会在ADD上给出错误。但是,新标记不显示。

任何帮助,将不胜感激。

**感谢您指点我正确的方向。由于地理定位,我正在创建我的地图。它现在正在与此工作。

function createMap(Lat, Long) { 
     $("#map").kendoMap({ 
      center: [Lat, Long], 
      zoom: 17, 
      layers: [{ 
       type: "bing", 
       imagerySet: "aerialWithLabels", 
       key: "###MYKEY###" 
      }], 
      markers: [{ 
       location: [Lat, Long], 
       shape: "pinTarget", 
       tooltip: { 
        content: "You are Here!!" 
       } 
      }], 
      click: onClick, 
      panEnd: onPanEnd 
     }); 
    } 

function onClick(e) { 
     var map = $("#map").data("kendoMap"); 
     var loc = map.eventToLocation(e); 

     map.center(loc); 
     map.markers.clear(); 
     map.markers.add({ location: loc }); 
    } 
+0

感谢calinaadi的答案! – SteveInTN

回答

1

您应该定义:

var map = $("#map").data("kendoMap"); 

outise上单击事件

,然后用地图可变

map.center(loc); 
map.markers.clear(); 
map.markers.add({location: loc}); 

http://dojo.telerik.com/AMoHA

+0

谢谢,那让我在那里。在创建map.function时,定义我的on click事件onClick(e){var map = $(“#map”)。data(“kendoMap”); var loc = map.eventToLocation(e); map.center(loc); map.markers.clear(); map.markers.add({location:loc}); } – SteveInTN