【发布时间】:2016-08-19 14:24:01
【问题描述】:
我有一张地图,用户将使用它来标记他们的位置。我使用地理定位和 Bing 层为他们提供了一个良好的开端。我希望他们点击地图,让它重新回到他们点击的点,删除现有标记,然后在地图居中创建一个新标记。
函数 onClick(e) { 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 });
}
【问题讨论】:
-
感谢 calinaadi 的回答!
标签: javascript kendo-ui kendo-map