Kendo UI 地图 - 如何使用 javascript 添加标记
Kendo UI Map - How to add marker with javascript
我有一张地图,用户会使用它来标记他们的位置。我使用地理定位和 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 });
}
您应该定义:
var map = $("#map").data("kendoMap");
取消点击事件
然后使用地图变量
map.center(loc);
map.markers.clear();
map.markers.add({location: loc});
我有一张地图,用户会使用它来标记他们的位置。我使用地理定位和 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 });
}
您应该定义:
var map = $("#map").data("kendoMap");
取消点击事件
然后使用地图变量
map.center(loc);
map.markers.clear();
map.markers.add({location: loc});