【问题标题】:Kendo UI Map - How to add marker with javascriptKendo UI Map - 如何使用 javascript 添加标记
【发布时间】: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


【解决方案1】:

你应该定义:

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

消除点击事件

然后使用映射变量

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

http://dojo.telerik.com/AMoHA

【讨论】:

  • 谢谢,让我到了那里。创建 map.function onClick(e) { var map = $("#map").data("kendoMap"); 时定义我的点击事件var loc = map.eventToLocation(e); map.center(loc); map.markers.clear(); map.markers.add({ location: loc }); }
猜你喜欢
  • 2012-03-22
  • 1970-01-01
  • 2012-03-07
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 2017-01-31
  • 1970-01-01
相关资源
最近更新 更多