Leaflet 用于显示鼠标悬停事件文本的传单框架
我正在使用传单框架为地图添加标记,并在地图上显示它们。我想在将鼠标悬停在标记上后显示一些文本。我编写了将所有标记添加到数组中的代码,然后在Leaflet 用于显示鼠标悬停事件文本的传单框架,leaflet,Leaflet,我正在使用传单框架为地图添加标记,并在地图上显示它们。我想在将鼠标悬停在标记上后显示一些文本。我编写了将所有标记添加到数组中的代码,然后在getallMarkers函数中获取所有标记,以在标记事件的鼠标上方显示文本。它适用于 ({ "echo" : function(cmp,event,helper) { var action = cmp.get("c.getLatLang"); action.setCallback(this, function(res
getallMarkers
函数中获取所有标记,以在标记事件的鼠标上方显示文本。它适用于
({
"echo" : function(cmp,event,helper) {
var action = cmp.get("c.getLatLang");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS") {
alert("From server: >>" + response.getReturnValue());
var strLatLng = response.getReturnValue();
var pos = strLatLng.indexOf(';');
if (pos == 0)
{
alert('Inside POS is zero');
strLatLng = strLatLng.substring(1,strLatLng.length);
alert('AFTER cut latlang is>>' + strLatLng + '<<<');
}
//alert('String value is>>'+ strLatLng + '<<');
var firstPairPos = strLatLng.indexOf(';');
var firstPair = strLatLng.substring(0,firstPairPos);
var value1 = firstPair.split('#');
var allpairs = strLatLng.split(';');
alert('ALLPAIRS array contains>>>' + allpairs + '<<');
//alert("FIrst PAir is:>>" + value1[0] + '<<' + "value2 is>>" + value1[1]);
var map;
var arrMarkers=[];
var lat = value1[1];
var lang = value1[2];
alert ("after first pair:: >>" + lat + ">>" + lang + "<<");
var map = new L.Map('map');
//map = L.map('map').setView([lat, lang], 6);
map.setView([lat,lang], 6);
L.tileLayer('https://api.tomtom.com/map/1/tile/basic/main/{z}/{x}/{y}.png?key={apiKey}', {
apiKey: 'trv87gvquv8yyfr4nrwgsdzc',
maxZoom: 18}).addTo(map);
for (i=0;i<allpairs.length;i++)
{
var j=0,k=0;
var newpair = allpairs[i].split('#');
var text = newpair[0];
var lat1 = newpair[1];
var lng1 = newpair[2];
alert('lat1 lang1 is allpairs loop>>'+ lat1 + '<<'+ lng1 + '<< text is>>' + text);
var title = text;
var marker = L.marker([lat1, lng1],'showtext');
//marker.on('mouseover',getallmarkers);
marker.addTo(map).bindPopup(title);
marker.on('mouseover',getallmarkers);
// arrMarkers.push(marker);
//map.addlayer(popup);
//L.marker([lat1, lng1]).addTo(map).bindPopup(title);
//L.marker([lat1, lng1],"this is marker title").addTo(map).bindPopup(title);
}
function getallmarkers()
{
for (l=0;arrMarkers.length>0;l++)
{
alert('Inside arrmarkers');
//var markernew = arrMarkers[l];
alert('arr markers is >>' + arrMarkers[l] + '<<');
arrMarkers[l].on('mouseover', function(e){arrMarkers[l].openPopup();});
}
}
//map.on('click', onMapClick);
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
function onMapClick(e)
{
alert("You clicked the map at ABTEST>>" + e.latlng);
var out = e.latlng;
alert("Lat Lang on out is>>" + out + "<<");
var lat = 51.11732;
var lang = 6.78955;
var action = cmp.get("c.getNearestVehicles");
alert('after getnearestvehicles call');
//action.setParams({"strlat":"51117320","strlang":"6789550"});
//alert('after setparams call');
//
action.setCallback(this, function(a){
alert('INSIDE SETCALLBACK ACTION MAP CLICK');
var strLatLang1 = a.getReturnValue();
alert("STR LAT LANG1 is>>>" + strLatLang1 + '<<<');
});
if(callback)
{
action.setCallback(this, callback)
}
//$A.enqueueAction(action);
//helper.callserver();
}
$A.enqueueAction(action);
}
})
({
“echo”:函数(cmp、事件、帮助器){
var action=cmp.get(“c.getLatLang”);
action.setCallback(此,函数(响应){
var state=response.getState();
如果(状态==“成功”){
警报(“来自服务器:>>”+response.getReturnValue());
var strLatLng=response.getReturnValue();
var pos=strlatng.indexOf(“;”);
如果(位置==0)
{
警报(“内部POS为零”);
strLatLng=strLatLng.substring(1,strLatLng.length);
alert('AFTER cut latlang是>>'+strLatLng+'+allpairs+'>'+lat1+'>'+arrMarkers[l]+'嗯,我想你正在寻找的插件是。它是一个成熟的插件,具有多年开发的不引人注目的标签。标签很容易与这样的代码绑定
L.marker([-37.7772, 175.2606]).bindLabel('Look revealing label!').addTo(map);
演示站点位于
传单弹出窗口有点大,在地图上占据了更多的空间,但理论上它们可以与一些代码一起使用,比如
myFeatureGroup.on('mouseover',function(ev) {
ev.layer.openPopup()
})
我正在将所有标记添加到标记数组中,我想为所有标记调用鼠标上方的openPopup事件。popup不会在地图上打开popup会为1个标记打开。但当我将所有标记放入一个数组中并尝试为所有标记打开popup时,它不起作用。传单弹出窗口一次只打开一个。如果您希望同时为多个标记显示标签时间…传单.Label是一种方法。我想一次打开一个弹出窗口,但我要说的是,弹出窗口仅显示一个标记。其他标记不显示。我正在将所有标记添加到for循环内的数组中,并在mouseover事件中尝试调用函数getallmarkers